@rogolev/value 0.0.3 → 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +319 -1
- package/docs/classes/Expect/toBe.md +61 -0
- package/docs/classes/Expect/toBeArray.md +52 -0
- package/docs/classes/Expect/toBeAssoc.md +53 -0
- package/docs/classes/Expect/toBeBigInt.md +52 -0
- package/docs/classes/Expect/toBeBool.md +53 -0
- package/docs/classes/Expect/toBeBoolean.md +53 -0
- package/docs/classes/Expect/toBeChar.md +53 -0
- package/docs/classes/Expect/toBeClass.md +53 -0
- package/docs/classes/Expect/toBeFloat.md +53 -0
- package/docs/classes/Expect/toBeFunction.md +52 -0
- package/docs/classes/Expect/toBeInfinity.md +53 -0
- package/docs/classes/Expect/toBeInt.md +53 -0
- package/docs/classes/Expect/toBeInteger.md +53 -0
- package/docs/classes/Expect/toBeList.md +53 -0
- package/docs/classes/Expect/toBeNaN.md +53 -0
- package/docs/classes/Expect/toBeNull.md +51 -0
- package/docs/classes/Expect/toBeNumber.md +52 -0
- package/docs/classes/Expect/toBeNumeric.md +53 -0
- package/docs/classes/Expect/toBeObject.md +52 -0
- package/docs/classes/Expect/toBeScalar.md +53 -0
- package/docs/classes/Expect/toBeString.md +52 -0
- package/docs/classes/Expect/toBeSymbol.md +53 -0
- package/docs/classes/Expect/toBeUndefined.md +54 -0
- package/docs/classes/Expect/toEqual.md +69 -0
- package/docs/classes/Expect/toStrictEqual.md +70 -0
- package/docs/classes/Expect.md +87 -0
- package/docs/classes/Type/expectArray.md +63 -0
- package/docs/classes/Type/expectAssoc.md +65 -0
- package/docs/classes/Type/expectBigInt.md +63 -0
- package/docs/classes/Type/expectBool.md +65 -0
- package/docs/classes/Type/expectBoolean.md +65 -0
- package/docs/classes/Type/expectChar.md +63 -0
- package/docs/classes/Type/expectClass.md +63 -0
- package/docs/classes/Type/expectFloat.md +68 -0
- package/docs/classes/Type/expectFunction.md +63 -0
- package/docs/classes/Type/expectInfinity.md +65 -0
- package/docs/classes/Type/expectInt.md +64 -0
- package/docs/classes/Type/expectInteger.md +64 -0
- package/docs/classes/Type/expectList.md +63 -0
- package/docs/classes/Type/expectNaN.md +63 -0
- package/docs/classes/Type/expectNull.md +63 -0
- package/docs/classes/Type/expectNumber.md +63 -0
- package/docs/classes/Type/expectNumeric.md +63 -0
- package/docs/classes/Type/expectObject.md +64 -0
- package/docs/classes/Type/expectScalar.md +63 -0
- package/docs/classes/Type/expectString.md +63 -0
- package/docs/classes/Type/expectSymbol.md +63 -0
- package/docs/classes/Type/expectUndefined.md +63 -0
- package/docs/classes/Type.md +101 -2
- package/docs/classes.md +2 -1
- package/docs/helpers/array/array_chunk.md +80 -0
- package/docs/helpers/array/array_chunk_with_keys.md +81 -0
- package/docs/helpers/array/array_column.md +110 -0
- package/docs/helpers/array/array_combine.md +77 -0
- package/docs/helpers/array/array_count_values.md +71 -0
- package/docs/helpers/array/array_diff.md +97 -0
- package/docs/helpers/array/array_diff_assoc.md +81 -0
- package/docs/helpers/array/array_diff_key.md +81 -0
- package/docs/helpers/array/array_diff_uassoc.md +101 -0
- package/docs/helpers/array/array_diff_ukey.md +101 -0
- package/docs/helpers/array/array_fill.md +81 -0
- package/docs/helpers/array/array_fill_keys.md +73 -0
- package/docs/helpers/array/array_filter.md +79 -0
- package/docs/helpers/array/array_flip.md +70 -0
- package/docs/helpers/array/array_index_max.md +78 -0
- package/docs/helpers/array/array_index_min.md +78 -0
- package/docs/helpers/array/array_intersect.md +91 -0
- package/docs/helpers/array/array_intersect_assoc.md +91 -0
- package/docs/helpers/array/array_intersect_key.md +91 -0
- package/docs/helpers/array/array_intersect_uassoc.md +101 -0
- package/docs/helpers/array/array_intersect_ukey.md +101 -0
- package/docs/helpers/array/array_key_exists.md +73 -0
- package/docs/helpers/array/array_key_first.md +62 -0
- package/docs/helpers/array/array_key_last.md +62 -0
- package/docs/helpers/array/array_key_to_lower_case.md +57 -0
- package/docs/helpers/array/array_key_to_upper_case.md +57 -0
- package/docs/helpers/array/array_keys.md +62 -0
- package/docs/helpers/array/array_map.md +69 -0
- package/docs/helpers/array/array_merge.md +67 -0
- package/docs/helpers/array/array_merge_recursive.md +86 -0
- package/docs/helpers/array/array_pad.md +83 -0
- package/docs/helpers/array/array_pop.md +64 -0
- package/docs/helpers/array/array_product.md +62 -0
- package/docs/helpers/array/array_push.md +57 -0
- package/docs/helpers/array/array_rand.md +99 -0
- package/docs/helpers/array/array_reduce.md +77 -0
- package/docs/helpers/array/array_replace.md +85 -0
- package/docs/helpers/array/array_replace_recursive.md +87 -0
- package/docs/helpers/array/array_reverse.md +55 -0
- package/docs/helpers/array/array_search.md +74 -0
- package/docs/helpers/array/array_shift.md +64 -0
- package/docs/helpers/array/array_slice.md +65 -0
- package/docs/helpers/array/array_splice.md +103 -0
- package/docs/helpers/array/array_sum.md +55 -0
- package/docs/helpers/array/array_udiff.md +97 -0
- package/docs/helpers/array/array_udiff_assoc.md +101 -0
- package/docs/helpers/array/array_udiff_uassoc.md +88 -0
- package/docs/helpers/array/array_uintersect.md +101 -0
- package/docs/helpers/array/array_uintersect_assoc.md +102 -0
- package/docs/helpers/array/array_uintersect_uassoc.md +135 -0
- package/docs/helpers/array/array_unique.md +54 -0
- package/docs/helpers/array/array_unshift.md +58 -0
- package/docs/helpers/array/array_values.md +54 -0
- package/docs/helpers/array/array_walk.md +87 -0
- package/docs/helpers/array/array_walk_recursive.md +93 -0
- package/docs/helpers/array/count.md +54 -0
- package/docs/helpers/array/in_array.md +65 -0
- package/docs/helpers/array/natsort.md +60 -0
- package/docs/helpers/array/range.md +76 -0
- package/docs/helpers/array/shuffle.md +74 -0
- package/docs/helpers/array/sort.md +79 -0
- package/docs/helpers/expect.md +58 -0
- package/docs/helpers/expect_array.md +63 -0
- package/docs/helpers/expect_assoc.md +65 -0
- package/docs/helpers/expect_bigint.md +63 -0
- package/docs/helpers/expect_bool.md +65 -0
- package/docs/helpers/expect_boolean.md +65 -0
- package/docs/helpers/expect_char.md +63 -0
- package/docs/helpers/expect_class.md +63 -0
- package/docs/helpers/expect_float.md +65 -0
- package/docs/helpers/expect_function.md +63 -0
- package/docs/helpers/expect_infinity.md +65 -0
- package/docs/helpers/expect_int.md +65 -0
- package/docs/helpers/expect_integer.md +65 -0
- package/docs/helpers/expect_list.md +63 -0
- package/docs/helpers/expect_nan.md +63 -0
- package/docs/helpers/expect_null.md +63 -0
- package/docs/helpers/expect_number.md +63 -0
- package/docs/helpers/expect_numeric.md +63 -0
- package/docs/helpers/expect_object.md +64 -0
- package/docs/helpers/expect_scalar.md +63 -0
- package/docs/helpers/expect_string.md +63 -0
- package/docs/helpers/expect_symbol.md +63 -0
- package/docs/helpers/expect_undefined.md +64 -0
- package/docs/helpers/is_char.md +84 -0
- package/docs/helpers/is_equal.md +75 -0
- package/docs/helpers/string/is_digit_char.md +70 -0
- package/docs/helpers/string/is_whitespace_char.md +70 -0
- package/docs/helpers/string/natcompare.md +69 -0
- package/docs/helpers/string/natcompare_numeric.md +70 -0
- package/docs/helpers.md +172 -1
- package/index.mjs +91 -1
- package/package.json +1 -1
- package/prettier.config.mjs +2 -1
- package/src/classes/Expect.mjs +1445 -0
- package/src/classes/Type.mjs +2739 -1284
- package/src/constants.mjs +83 -14
- package/src/helpers/array/array_chunk.mjs +102 -0
- package/src/helpers/array/array_chunk_with_keys.mjs +102 -0
- package/src/helpers/array/array_column.mjs +131 -0
- package/src/helpers/array/array_combine.mjs +26 -0
- package/src/helpers/array/array_count_values.mjs +82 -0
- package/src/helpers/array/array_diff.mjs +77 -0
- package/src/helpers/array/array_diff_assoc.mjs +56 -0
- package/src/helpers/array/array_diff_key.mjs +56 -0
- package/src/helpers/array/array_diff_uassoc.mjs +76 -0
- package/src/helpers/array/array_diff_ukey.mjs +71 -0
- package/src/helpers/array/array_fill.mjs +108 -0
- package/src/helpers/array/array_fill_keys.mjs +90 -0
- package/src/helpers/array/array_filter.mjs +105 -0
- package/src/helpers/array/array_flip.mjs +58 -0
- package/src/helpers/array/array_index_max.mjs +82 -0
- package/src/helpers/array/array_index_min.mjs +82 -0
- package/src/helpers/array/array_intersect.mjs +71 -0
- package/src/helpers/array/array_intersect_assoc.mjs +67 -0
- package/src/helpers/array/array_intersect_key.mjs +67 -0
- package/src/helpers/array/array_intersect_uassoc.mjs +77 -0
- package/src/helpers/array/array_intersect_ukey.mjs +72 -0
- package/src/helpers/array/array_key_exists.mjs +83 -0
- package/src/helpers/array/array_key_first.mjs +73 -0
- package/src/helpers/array/array_key_last.mjs +74 -0
- package/src/helpers/array/array_key_to_lower_case.mjs +71 -0
- package/src/helpers/array/array_key_to_upper_case.mjs +71 -0
- package/src/helpers/array/array_keys.mjs +65 -0
- package/src/helpers/array/array_map.mjs +84 -0
- package/src/helpers/array/array_merge.mjs +95 -0
- package/src/helpers/array/array_merge_recursive.mjs +153 -0
- package/src/helpers/array/array_pad.mjs +105 -0
- package/src/helpers/array/array_pop.mjs +82 -0
- package/src/helpers/array/array_product.mjs +67 -0
- package/src/helpers/array/array_push.mjs +75 -0
- package/src/helpers/array/array_rand.mjs +129 -0
- package/src/helpers/array/array_reduce.mjs +90 -0
- package/src/helpers/array/array_replace.mjs +25 -0
- package/src/helpers/array/array_replace_recursive.mjs +109 -0
- package/src/helpers/array/array_reverse.mjs +62 -0
- package/src/helpers/array/array_search.mjs +104 -0
- package/src/helpers/array/array_shift.mjs +78 -0
- package/src/helpers/array/array_slice.mjs +99 -0
- package/src/helpers/array/array_splice.mjs +218 -0
- package/src/helpers/array/array_sum.mjs +60 -0
- package/src/helpers/array/array_udiff.mjs +91 -0
- package/src/helpers/array/array_udiff_assoc.mjs +71 -0
- package/src/helpers/array/array_udiff_uassoc.mjs +124 -0
- package/src/helpers/array/array_uintersect.mjs +72 -0
- package/src/helpers/array/array_uintersect_assoc.mjs +77 -0
- package/src/helpers/array/array_uintersect_uassoc.mjs +121 -0
- package/src/helpers/array/array_unique.mjs +77 -0
- package/src/helpers/array/array_unshift.mjs +64 -0
- package/src/helpers/array/array_values.mjs +57 -0
- package/src/helpers/array/array_walk.mjs +95 -0
- package/src/helpers/array/array_walk_recursive.mjs +104 -0
- package/src/helpers/array/count.mjs +57 -0
- package/src/helpers/array/in_array.mjs +67 -0
- package/src/helpers/array/natsort.mjs +62 -0
- package/src/helpers/array/range.mjs +121 -0
- package/src/helpers/array/shuffle.mjs +73 -0
- package/src/helpers/array/sort.mjs +69 -0
- package/src/helpers/expect.mjs +44 -0
- package/src/helpers/expect_array.mjs +66 -0
- package/src/helpers/expect_assoc.mjs +66 -0
- package/src/helpers/expect_bigint.mjs +66 -0
- package/src/helpers/expect_bool.mjs +66 -0
- package/src/helpers/expect_boolean.mjs +57 -0
- package/src/helpers/expect_char.mjs +66 -0
- package/src/helpers/expect_class.mjs +66 -0
- package/src/helpers/expect_float.mjs +66 -0
- package/src/helpers/expect_function.mjs +66 -0
- package/src/helpers/expect_infinity.mjs +66 -0
- package/src/helpers/expect_int.mjs +66 -0
- package/src/helpers/expect_integer.mjs +57 -0
- package/src/helpers/expect_list.mjs +66 -0
- package/src/helpers/expect_nan.mjs +66 -0
- package/src/helpers/expect_null.mjs +66 -0
- package/src/helpers/expect_number.mjs +66 -0
- package/src/helpers/expect_numeric.mjs +66 -0
- package/src/helpers/expect_object.mjs +67 -0
- package/src/helpers/expect_scalar.mjs +66 -0
- package/src/helpers/expect_string.mjs +65 -0
- package/src/helpers/expect_symbol.mjs +66 -0
- package/src/helpers/expect_undefined.mjs +66 -0
- package/src/helpers/is_char.mjs +54 -0
- package/src/helpers/is_equal.mjs +94 -0
- package/src/helpers/string/is_digit_char.mjs +60 -0
- package/src/helpers/string/is_whitespace_char.mjs +54 -0
- package/src/helpers/string/natcompare.mjs +107 -0
- package/src/helpers/string/natcompare_numeric.mjs +131 -0
- package/tests/classes/Expect/toBe.test.mjs +60 -0
- package/tests/classes/Expect/toBeArray.test.mjs +46 -0
- package/tests/classes/Expect/toBeAssoc.test.mjs +48 -0
- package/tests/classes/Expect/toBeBigInt.test.mjs +46 -0
- package/tests/classes/Expect/toBeBool.test.mjs +48 -0
- package/tests/classes/Expect/toBeBoolean.test.mjs +48 -0
- package/tests/classes/Expect/toBeChar.test.mjs +46 -0
- package/tests/classes/Expect/toBeClass.test.mjs +48 -0
- package/tests/classes/Expect/toBeFloat.test.mjs +48 -0
- package/tests/classes/Expect/toBeFunction.test.mjs +51 -0
- package/tests/classes/Expect/toBeInfinity.test.mjs +48 -0
- package/tests/classes/Expect/toBeInt.test.mjs +48 -0
- package/tests/classes/Expect/toBeInteger.test.mjs +48 -0
- package/tests/classes/Expect/toBeList.test.mjs +46 -0
- package/tests/classes/Expect/toBeNaN.test.mjs +46 -0
- package/tests/classes/Expect/toBeNull.test.mjs +46 -0
- package/tests/classes/Expect/toBeNumber.test.mjs +46 -0
- package/tests/classes/Expect/toBeNumeric.test.mjs +53 -0
- package/tests/classes/Expect/toBeObject.test.mjs +47 -0
- package/tests/classes/Expect/toBeScalar.test.mjs +63 -0
- package/tests/classes/Expect/toBeString.test.mjs +46 -0
- package/tests/classes/Expect/toBeSymbol.test.mjs +46 -0
- package/tests/classes/Expect/toBeUndefined.test.mjs +50 -0
- package/tests/classes/Expect/toEqual.test.mjs +66 -0
- package/tests/classes/Expect/toStrictEqual.test.mjs +73 -0
- package/tests/classes/Type.test.mjs +1320 -1262
- package/tests/helpers/array/array_chunk.test.mjs +49 -0
- package/tests/helpers/array/array_chunk_with_keys.test.mjs +45 -0
- package/tests/helpers/array/array_column.test.mjs +87 -0
- package/tests/helpers/array/array_combine.test.mjs +41 -0
- package/tests/helpers/array/array_count_values.test.mjs +40 -0
- package/tests/helpers/array/array_diff.test.mjs +78 -0
- package/tests/helpers/array/array_diff_assoc.test.mjs +64 -0
- package/tests/helpers/array/array_diff_key.test.mjs +64 -0
- package/tests/helpers/array/array_diff_uassoc.test.mjs +73 -0
- package/tests/helpers/array/array_diff_ukey.test.mjs +77 -0
- package/tests/helpers/array/array_fill.test.mjs +47 -0
- package/tests/helpers/array/array_fill_keys.test.mjs +35 -0
- package/tests/helpers/array/array_filter.test.mjs +38 -0
- package/tests/helpers/array/array_flip.test.mjs +33 -0
- package/tests/helpers/array/array_index_max.test.mjs +41 -0
- package/tests/helpers/array/array_index_min.test.mjs +41 -0
- package/tests/helpers/array/array_intersect.test.mjs +65 -0
- package/tests/helpers/array/array_intersect_assoc.test.mjs +65 -0
- package/tests/helpers/array/array_intersect_key.test.mjs +65 -0
- package/tests/helpers/array/array_intersect_uassoc.test.mjs +76 -0
- package/tests/helpers/array/array_intersect_ukey.test.mjs +74 -0
- package/tests/helpers/array/array_key_exists.test.mjs +36 -0
- package/tests/helpers/array/array_key_first.test.mjs +29 -0
- package/tests/helpers/array/array_key_last.test.mjs +29 -0
- package/tests/helpers/array/array_key_to_lower_case.test.mjs +23 -0
- package/tests/helpers/array/array_key_to_upper_case.test.mjs +23 -0
- package/tests/helpers/array/array_keys.test.mjs +27 -0
- package/tests/helpers/array/array_map.test.mjs +32 -0
- package/tests/helpers/array/array_merge.test.mjs +37 -0
- package/tests/helpers/array/array_merge_recursive.test.mjs +65 -0
- package/tests/helpers/array/array_pad.test.mjs +48 -0
- package/tests/helpers/array/array_pop.test.mjs +29 -0
- package/tests/helpers/array/array_product.test.mjs +33 -0
- package/tests/helpers/array/array_push.test.mjs +31 -0
- package/tests/helpers/array/array_rand.test.mjs +59 -0
- package/tests/helpers/array/array_reduce.test.mjs +44 -0
- package/tests/helpers/array/array_replace.test.mjs +46 -0
- package/tests/helpers/array/array_replace_recursive.test.mjs +46 -0
- package/tests/helpers/array/array_reverse.test.mjs +31 -0
- package/tests/helpers/array/array_search.test.mjs +48 -0
- package/tests/helpers/array/array_shift.test.mjs +29 -0
- package/tests/helpers/array/array_slice.test.mjs +49 -0
- package/tests/helpers/array/array_splice.test.mjs +67 -0
- package/tests/helpers/array/array_sum.test.mjs +27 -0
- package/tests/helpers/array/array_udiff.test.mjs +95 -0
- package/tests/helpers/array/array_udiff_assoc.test.mjs +77 -0
- package/tests/helpers/array/array_udiff_uassoc.test.mjs +89 -0
- package/tests/helpers/array/array_uintersect.test.mjs +78 -0
- package/tests/helpers/array/array_uintersect_assoc.test.mjs +80 -0
- package/tests/helpers/array/array_uintersect_uassoc.test.mjs +122 -0
- package/tests/helpers/array/array_unique.test.mjs +27 -0
- package/tests/helpers/array/array_unshift.test.mjs +31 -0
- package/tests/helpers/array/array_values.test.mjs +27 -0
- package/tests/helpers/array/array_walk.test.mjs +48 -0
- package/tests/helpers/array/array_walk_recursive.test.mjs +53 -0
- package/tests/helpers/array/count.test.mjs +27 -0
- package/tests/helpers/array/in_array.test.mjs +52 -0
- package/tests/helpers/array/natsort.test.mjs +71 -0
- package/tests/helpers/array/range.test.mjs +51 -0
- package/tests/helpers/array/shuffle.test.mjs +42 -0
- package/tests/helpers/array/sort.test.mjs +60 -0
- package/tests/helpers/array.test.mjs +58 -58
- package/tests/helpers/expect.test.mjs +95 -0
- package/tests/helpers/expect_array.test.mjs +71 -0
- package/tests/helpers/expect_assoc.test.mjs +61 -0
- package/tests/helpers/expect_bigint.test.mjs +63 -0
- package/tests/helpers/expect_bool.test.mjs +59 -0
- package/tests/helpers/expect_boolean.test.mjs +61 -0
- package/tests/helpers/expect_char.test.mjs +63 -0
- package/tests/helpers/expect_class.test.mjs +64 -0
- package/tests/helpers/expect_float.test.mjs +64 -0
- package/tests/helpers/expect_function.test.mjs +65 -0
- package/tests/helpers/expect_infinity.test.mjs +62 -0
- package/tests/helpers/expect_int.test.mjs +57 -0
- package/tests/helpers/expect_integer.test.mjs +59 -0
- package/tests/helpers/expect_list.test.mjs +73 -0
- package/tests/helpers/expect_nan.test.mjs +57 -0
- package/tests/helpers/expect_null.test.mjs +57 -0
- package/tests/helpers/expect_number.test.mjs +57 -0
- package/tests/helpers/expect_numeric.test.mjs +57 -0
- package/tests/helpers/expect_object.test.mjs +63 -0
- package/tests/helpers/expect_scalar.test.mjs +72 -0
- package/tests/helpers/expect_string.test.mjs +65 -0
- package/tests/helpers/expect_symbol.test.mjs +66 -0
- package/tests/helpers/expect_undefined.test.mjs +59 -0
- package/tests/helpers/is_char.test.mjs +40 -0
- package/tests/helpers/is_equal.test.mjs +110 -0
- package/tests/helpers/string/is_digit_char.test.mjs +32 -0
- package/tests/helpers/string/is_whitespace_char.test.mjs +32 -0
- package/tests/helpers/string/natcompare.test.mjs +100 -0
- package/tests/helpers/string/natcompare_numeric.test.mjs +110 -0
|
@@ -1,58 +1,58 @@
|
|
|
1
|
-
import { expect, test, describe } from '@jest/globals';
|
|
2
|
-
import { array } from '../../index.mjs';
|
|
3
|
-
|
|
4
|
-
describe('Функция array', () => {
|
|
5
|
-
test('Должна возвращать массив с единственным элементом, если передан один массив', () => {
|
|
6
|
-
const input = [1, 2, 3];
|
|
7
|
-
const result = array(input);
|
|
8
|
-
expect(result).toEqual([1, 2, 3]);
|
|
9
|
-
});
|
|
10
|
-
|
|
11
|
-
test('Должна добавлять элементы в массив, если передано несколько значений', () => {
|
|
12
|
-
const result = array(1, [2, 3], { a: 10, b: 20 });
|
|
13
|
-
expect(result).toEqual([1, [2, 3], { a: 10, b: 20 }]);
|
|
14
|
-
});
|
|
15
|
-
|
|
16
|
-
test('Должна обрабатывать ассоциативные массивы (объекты с ключами и значениями)', () => {
|
|
17
|
-
const assoc = { key1: 'value1', key2: 'value2' };
|
|
18
|
-
const result = array(assoc);
|
|
19
|
-
expect(result).toEqual(assoc); // Элемент должен быть объектом
|
|
20
|
-
expect(Object.getPrototypeOf(result)).toBeNull(); // Прототип должен быть null
|
|
21
|
-
});
|
|
22
|
-
|
|
23
|
-
test('Должна создавать итератор для ассоциативного массива', () => {
|
|
24
|
-
const assoc = { key: 'value', anotherKey: 'anotherValue' };
|
|
25
|
-
const result = array(assoc);
|
|
26
|
-
|
|
27
|
-
const iteratorOutput = [];
|
|
28
|
-
for (const [key, value] of result) {
|
|
29
|
-
iteratorOutput.push([key, value]);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
expect(iteratorOutput).toEqual([
|
|
33
|
-
['key', 'value'],
|
|
34
|
-
['anotherKey', 'anotherValue'],
|
|
35
|
-
]);
|
|
36
|
-
});
|
|
37
|
-
|
|
38
|
-
test('Должна возвращать исходный массив, если он передан как единственный аргумент', () => {
|
|
39
|
-
const nestedArray = [1, 2, 3];
|
|
40
|
-
const result = array(nestedArray);
|
|
41
|
-
expect(result).toBe(nestedArray); // Массив должен быть возвращен напрямую
|
|
42
|
-
});
|
|
43
|
-
|
|
44
|
-
test('Должна работать с примитивными значениями', () => {
|
|
45
|
-
const result = array(42, 'test', true, null);
|
|
46
|
-
expect(result).toEqual([42, 'test', true, null]);
|
|
47
|
-
});
|
|
48
|
-
|
|
49
|
-
test('Должна возвращать массив, если передано несколько различных типов', () => {
|
|
50
|
-
const result = array(1, 'text', [2, 3], { foo: 'bar' });
|
|
51
|
-
expect(result).toEqual([1, 'text', [2, 3], { foo: 'bar' }]);
|
|
52
|
-
});
|
|
53
|
-
|
|
54
|
-
test('Должна возвращать массив с объектами и ассоциативными массивами', () => {
|
|
55
|
-
const result = array({ key1: 'value1' }, [1, 2], { key2: 'value2' });
|
|
56
|
-
expect(result).toEqual([{ key1: 'value1' }, [1, 2], { key2: 'value2' }]);
|
|
57
|
-
});
|
|
58
|
-
});
|
|
1
|
+
import { expect, test, describe } from '@jest/globals';
|
|
2
|
+
import { array } from '../../index.mjs';
|
|
3
|
+
|
|
4
|
+
describe('Функция array', () => {
|
|
5
|
+
test('Должна возвращать массив с единственным элементом, если передан один массив', () => {
|
|
6
|
+
const input = [1, 2, 3];
|
|
7
|
+
const result = array(input);
|
|
8
|
+
expect(result).toEqual([1, 2, 3]);
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
test('Должна добавлять элементы в массив, если передано несколько значений', () => {
|
|
12
|
+
const result = array(1, [2, 3], { a: 10, b: 20 });
|
|
13
|
+
expect(result).toEqual([1, [2, 3], { a: 10, b: 20 }]);
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
test('Должна обрабатывать ассоциативные массивы (объекты с ключами и значениями)', () => {
|
|
17
|
+
const assoc = { key1: 'value1', key2: 'value2' };
|
|
18
|
+
const result = array(assoc);
|
|
19
|
+
expect(result).toEqual(assoc); // Элемент должен быть объектом
|
|
20
|
+
expect(Object.getPrototypeOf(result)).toBeNull(); // Прототип должен быть null
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
test('Должна создавать итератор для ассоциативного массива', () => {
|
|
24
|
+
const assoc = { key: 'value', anotherKey: 'anotherValue' };
|
|
25
|
+
const result = array(assoc);
|
|
26
|
+
|
|
27
|
+
const iteratorOutput = [];
|
|
28
|
+
for (const [key, value] of result) {
|
|
29
|
+
iteratorOutput.push([key, value]);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
expect(iteratorOutput).toEqual([
|
|
33
|
+
['key', 'value'],
|
|
34
|
+
['anotherKey', 'anotherValue'],
|
|
35
|
+
]);
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
test('Должна возвращать исходный массив, если он передан как единственный аргумент', () => {
|
|
39
|
+
const nestedArray = [1, 2, 3];
|
|
40
|
+
const result = array(nestedArray);
|
|
41
|
+
expect(result).toBe(nestedArray); // Массив должен быть возвращен напрямую
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
test('Должна работать с примитивными значениями', () => {
|
|
45
|
+
const result = array(42, 'test', true, null);
|
|
46
|
+
expect(result).toEqual([42, 'test', true, null]);
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
test('Должна возвращать массив, если передано несколько различных типов', () => {
|
|
50
|
+
const result = array(1, 'text', [2, 3], { foo: 'bar' });
|
|
51
|
+
expect(result).toEqual([1, 'text', [2, 3], { foo: 'bar' }]);
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
test('Должна возвращать массив с объектами и ассоциативными массивами', () => {
|
|
55
|
+
const result = array({ key1: 'value1' }, [1, 2], { key2: 'value2' });
|
|
56
|
+
expect(result).toEqual([{ key1: 'value1' }, [1, 2], { key2: 'value2' }]);
|
|
57
|
+
});
|
|
58
|
+
});
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { expect, test, describe } from '@jest/globals';
|
|
2
|
+
import { Expect, expect as exp } from '../../index.mjs';
|
|
3
|
+
|
|
4
|
+
describe('Функция expect', () => {
|
|
5
|
+
test('Должна возвращать экземпляр класса Expect', () => {
|
|
6
|
+
expect(exp(5)).toBeInstanceOf(Expect);
|
|
7
|
+
});
|
|
8
|
+
|
|
9
|
+
test('Должна корректно передавать значение в экземпляр класса Expect', () => {
|
|
10
|
+
expect(exp(5).toBe(5)).toBe(true);
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
test('Должна корректно работать с массивами', () => {
|
|
14
|
+
expect(exp([1, 2, 3]).toBeArray()).toBe(true);
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
test('Должна корректно работать с объектами', () => {
|
|
18
|
+
class stdClass {}
|
|
19
|
+
expect(exp(new stdClass()).toBeObject()).toBe(true);
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
test('Должна корректно работать с BigInt', () => {
|
|
23
|
+
expect(exp(123n).toBeBigInt()).toBe(true);
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
test('Должна корректно работать с логическими значениями', () => {
|
|
27
|
+
expect(exp(true).toBeBool()).toBe(true);
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
test('Должна корректно работать с символами', () => {
|
|
31
|
+
expect(exp('a').toBeChar()).toBe(true);
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
test('Должна корректно работать с классами', () => {
|
|
35
|
+
class MyClass {}
|
|
36
|
+
expect(exp(MyClass).toBeClass()).toBe(true);
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
test('Должна корректно работать с числами с плавающей запятой', () => {
|
|
40
|
+
expect(exp(3.14).toBeFloat()).toBe(true);
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
test('Должна корректно работать с функциями', () => {
|
|
44
|
+
function myFunction() {}
|
|
45
|
+
expect(exp(myFunction).toBeFunction()).toBe(true);
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
test('Должна корректно работать с бесконечностью', () => {
|
|
49
|
+
expect(exp(Infinity).toBeInfinity()).toBe(true);
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
test('Должна корректно работать с целыми числами', () => {
|
|
53
|
+
expect(exp(123).toBeInt()).toBe(true);
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
test('Должна корректно работать с NaN', () => {
|
|
57
|
+
expect(exp(NaN).toBeNaN()).toBe(true);
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
test('Должна корректно работать с null', () => {
|
|
61
|
+
expect(exp(null).toBeNull()).toBe(true);
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
test('Должна корректно работать с числами', () => {
|
|
65
|
+
expect(exp(123).toBeNumber()).toBe(true);
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
test('Должна корректно работать с числовыми значениями', () => {
|
|
69
|
+
expect(exp('123').toBeNumeric()).toBe(true);
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
test('Должна корректно работать со скалярными значениями', () => {
|
|
73
|
+
expect(exp(123).toBeScalar()).toBe(true);
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
test('Должна корректно работать со строками', () => {
|
|
77
|
+
expect(exp('hello').toBeString()).toBe(true);
|
|
78
|
+
});
|
|
79
|
+
|
|
80
|
+
test('Должна корректно работать с символами (Symbol)', () => {
|
|
81
|
+
expect(exp(Symbol('example')).toBeSymbol()).toBe(true);
|
|
82
|
+
});
|
|
83
|
+
|
|
84
|
+
test('Должна корректно работать с undefined', () => {
|
|
85
|
+
expect(exp(undefined).toBeUndefined()).toBe(true);
|
|
86
|
+
});
|
|
87
|
+
|
|
88
|
+
test('Должна корректно проверять эквивалентность значений', () => {
|
|
89
|
+
expect(exp({ a: 1, b: '2' }).toEqual({ a: 1, b: 2 })).toBe(true);
|
|
90
|
+
});
|
|
91
|
+
|
|
92
|
+
test('Должна корректно проверять строгую эквивалентность значений', () => {
|
|
93
|
+
expect(exp({ a: 1, b: 2 }).toStrictEqual({ a: 1, b: 2 })).toBe(true);
|
|
94
|
+
});
|
|
95
|
+
});
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { expect, test, describe } from '@jest/globals';
|
|
2
|
+
import { expect_array } from '../../index.mjs';
|
|
3
|
+
|
|
4
|
+
describe('Функция expect_array', () => {
|
|
5
|
+
test('Должна возвращать true, если значение является массивом', () => {
|
|
6
|
+
const array = [1, 2, 3];
|
|
7
|
+
const result = expect_array(array);
|
|
8
|
+
expect(result).toBe(true);
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
test('Должна выбрасывать ошибку, если значение не является массивом', () => {
|
|
12
|
+
expect(() => expect_array('not an array')).toThrow(TypeError);
|
|
13
|
+
expect(() => expect_array('not an array')).toThrow('');
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
test('Должна выбрасывать ошибку с пользовательским сообщением, если значение не является массивом', () => {
|
|
17
|
+
expect(() => expect_array('not an array', 'Значение должно быть массивом.')).toThrow(
|
|
18
|
+
TypeError,
|
|
19
|
+
);
|
|
20
|
+
expect(() => expect_array('not an array', 'Значение должно быть массивом.')).toThrow(
|
|
21
|
+
'Значение должно быть массивом.',
|
|
22
|
+
);
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
test('Должна выбрасывать ошибку, если параметр message не является строкой', () => {
|
|
26
|
+
expect(() => expect_array([1, 2, 3], 123)).toThrow(TypeError);
|
|
27
|
+
expect(() => expect_array([1, 2, 3], 123)).toThrow(
|
|
28
|
+
'Параметр "message" должен быть строкой.',
|
|
29
|
+
);
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
test('Должна корректно обрабатывать пустой массив', () => {
|
|
33
|
+
const array = [];
|
|
34
|
+
const result = expect_array(array);
|
|
35
|
+
expect(result).toBe(true);
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
test('Должна корректно обрабатывать массив с одним элементом', () => {
|
|
39
|
+
const array = [1];
|
|
40
|
+
const result = expect_array(array);
|
|
41
|
+
expect(result).toBe(true);
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
test('Должна корректно обрабатывать массив с несколькими элементами', () => {
|
|
45
|
+
const array = [1, 2, 3, 4, 5];
|
|
46
|
+
const result = expect_array(array);
|
|
47
|
+
expect(result).toBe(true);
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
test('Должна корректно обрабатывать ассоциативный массив', () => {
|
|
51
|
+
const array = { a: 1, b: 2, c: 3 };
|
|
52
|
+
const result = expect_array(array);
|
|
53
|
+
expect(result).toBe(true);
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
test('Должна корректно обрабатывать массив с вложенными массивами', () => {
|
|
57
|
+
const array = [
|
|
58
|
+
[1, 2],
|
|
59
|
+
[3, 4],
|
|
60
|
+
[5, 6],
|
|
61
|
+
];
|
|
62
|
+
const result = expect_array(array);
|
|
63
|
+
expect(result).toBe(true);
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
test('Должна корректно обрабатывать массив с различными типами данных', () => {
|
|
67
|
+
const array = [1, '2', true, null, undefined, { a: 1 }, [1, 2]];
|
|
68
|
+
const result = expect_array(array);
|
|
69
|
+
expect(result).toBe(true);
|
|
70
|
+
});
|
|
71
|
+
});
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { expect, test, describe } from '@jest/globals';
|
|
2
|
+
import { expect_assoc } from '../../index.mjs';
|
|
3
|
+
|
|
4
|
+
describe('Функция expect_assoc', () => {
|
|
5
|
+
test('Должна возвращать true, если значение является ассоциативным массивом', () => {
|
|
6
|
+
const assoc = { a: 1, b: 2, c: 3 };
|
|
7
|
+
const result = expect_assoc(assoc);
|
|
8
|
+
expect(result).toBe(true);
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
test('Должна выбрасывать ошибку, если значение не является ассоциативным массивом', () => {
|
|
12
|
+
expect(() => expect_assoc([1, 2, 3])).toThrow(TypeError);
|
|
13
|
+
expect(() => expect_assoc([1, 2, 3])).toThrow('');
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
test('Должна выбрасывать ошибку с пользовательским сообщением, если значение не является ассоциативным массивом', () => {
|
|
17
|
+
expect(() =>
|
|
18
|
+
expect_assoc([1, 2, 3], 'Значение должно быть ассоциативным массивом.'),
|
|
19
|
+
).toThrow(TypeError);
|
|
20
|
+
expect(() =>
|
|
21
|
+
expect_assoc([1, 2, 3], 'Значение должно быть ассоциативным массивом.'),
|
|
22
|
+
).toThrow('Значение должно быть ассоциативным массивом.');
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
test('Должна выбрасывать ошибку, если параметр message не является строкой', () => {
|
|
26
|
+
expect(() => expect_assoc({ a: 1, b: 2, c: 3 }, 123)).toThrow(TypeError);
|
|
27
|
+
expect(() => expect_assoc({ a: 1, b: 2, c: 3 }, 123)).toThrow(
|
|
28
|
+
'Параметр "message" должен быть строкой.',
|
|
29
|
+
);
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
test('Должна корректно обрабатывать пустой ассоциативный массив', () => {
|
|
33
|
+
const assoc = {};
|
|
34
|
+
const result = expect_assoc(assoc);
|
|
35
|
+
expect(result).toBe(true);
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
test('Должна корректно обрабатывать ассоциативный массив с одним элементом', () => {
|
|
39
|
+
const assoc = { a: 1 };
|
|
40
|
+
const result = expect_assoc(assoc);
|
|
41
|
+
expect(result).toBe(true);
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
test('Должна корректно обрабатывать ассоциативный массив с несколькими элементами', () => {
|
|
45
|
+
const assoc = { a: 1, b: 2, c: 3, d: 4, e: 5 };
|
|
46
|
+
const result = expect_assoc(assoc);
|
|
47
|
+
expect(result).toBe(true);
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
test('Должна корректно обрабатывать ассоциативный массив с вложенными массивами', () => {
|
|
51
|
+
const assoc = { a: [1, 2], b: [3, 4], c: [5, 6] };
|
|
52
|
+
const result = expect_assoc(assoc);
|
|
53
|
+
expect(result).toBe(true);
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
test('Должна корректно обрабатывать ассоциативный массив с различными типами данных', () => {
|
|
57
|
+
const assoc = { a: 1, b: '2', c: true, d: null, e: undefined, f: { a: 1 }, g: [1, 2] };
|
|
58
|
+
const result = expect_assoc(assoc);
|
|
59
|
+
expect(result).toBe(true);
|
|
60
|
+
});
|
|
61
|
+
});
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { expect, test, describe } from '@jest/globals';
|
|
2
|
+
import { expect_bigint } from '../../index.mjs';
|
|
3
|
+
|
|
4
|
+
describe('Функция expect_bigint', () => {
|
|
5
|
+
test('Должна возвращать true, если значение является BigInt', () => {
|
|
6
|
+
const value = 123n;
|
|
7
|
+
const result = expect_bigint(value);
|
|
8
|
+
expect(result).toBe(true);
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
test('Должна выбрасывать ошибку, если значение не является BigInt', () => {
|
|
12
|
+
expect(() => expect_bigint(123)).toThrow(TypeError);
|
|
13
|
+
expect(() => expect_bigint(123)).toThrow('');
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
test('Должна выбрасывать ошибку с пользовательским сообщением, если значение не является BigInt', () => {
|
|
17
|
+
expect(() => expect_bigint(123, 'Значение должно быть BigInt.')).toThrow(TypeError);
|
|
18
|
+
expect(() => expect_bigint(123, 'Значение должно быть BigInt.')).toThrow(
|
|
19
|
+
'Значение должно быть BigInt.',
|
|
20
|
+
);
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
test('Должна выбрасывать ошибку, если параметр message не является строкой', () => {
|
|
24
|
+
expect(() => expect_bigint(123n, 123)).toThrow(TypeError);
|
|
25
|
+
expect(() => expect_bigint(123n, 123)).toThrow('Параметр "message" должен быть строкой.');
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
test('Должна корректно обрабатывать значение BigInt с нулевым значением', () => {
|
|
29
|
+
const value = 0n;
|
|
30
|
+
const result = expect_bigint(value);
|
|
31
|
+
expect(result).toBe(true);
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
test('Должна корректно обрабатывать значение BigInt с отрицательным значением', () => {
|
|
35
|
+
const value = -123n;
|
|
36
|
+
const result = expect_bigint(value);
|
|
37
|
+
expect(result).toBe(true);
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
test('Должна корректно обрабатывать значение BigInt с большим значением', () => {
|
|
41
|
+
const value = 123456789012345678901234567890n;
|
|
42
|
+
const result = expect_bigint(value);
|
|
43
|
+
expect(result).toBe(true);
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
test('Должна корректно обрабатывать значение BigInt с маленьким значением', () => {
|
|
47
|
+
const value = 1n;
|
|
48
|
+
const result = expect_bigint(value);
|
|
49
|
+
expect(result).toBe(true);
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
test('Должна корректно обрабатывать значение BigInt с максимальным значением', () => {
|
|
53
|
+
const value = BigInt(Number.MAX_SAFE_INTEGER);
|
|
54
|
+
const result = expect_bigint(value);
|
|
55
|
+
expect(result).toBe(true);
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
test('Должна корректно обрабатывать значение BigInt с минимальным значением', () => {
|
|
59
|
+
const value = BigInt(Number.MIN_SAFE_INTEGER);
|
|
60
|
+
const result = expect_bigint(value);
|
|
61
|
+
expect(result).toBe(true);
|
|
62
|
+
});
|
|
63
|
+
});
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { expect, test, describe } from '@jest/globals';
|
|
2
|
+
import { expect_bool } from '../../index.mjs';
|
|
3
|
+
|
|
4
|
+
describe('Функция expect_bool', () => {
|
|
5
|
+
test('Должна возвращать true, если значение является логическим типом', () => {
|
|
6
|
+
const value = true;
|
|
7
|
+
const result = expect_bool(value);
|
|
8
|
+
expect(result).toBe(true);
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
test('Должна выбрасывать ошибку, если значение не является логическим типом', () => {
|
|
12
|
+
expect(() => expect_bool(123)).toThrow(TypeError);
|
|
13
|
+
expect(() => expect_bool(123)).toThrow('');
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
test('Должна выбрасывать ошибку с пользовательским сообщением, если значение не является логическим типом', () => {
|
|
17
|
+
expect(() => expect_bool(123, 'Значение должно быть логическим типом.')).toThrow(TypeError);
|
|
18
|
+
expect(() => expect_bool(123, 'Значение должно быть логическим типом.')).toThrow(
|
|
19
|
+
'Значение должно быть логическим типом.',
|
|
20
|
+
);
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
test('Должна выбрасывать ошибку, если параметр message не является строкой', () => {
|
|
24
|
+
expect(() => expect_bool(true, 123)).toThrow(TypeError);
|
|
25
|
+
expect(() => expect_bool(true, 123)).toThrow('Параметр "message" должен быть строкой.');
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
test('Должна корректно обрабатывать значение true', () => {
|
|
29
|
+
const value = true;
|
|
30
|
+
const result = expect_bool(value);
|
|
31
|
+
expect(result).toBe(true);
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
test('Должна корректно обрабатывать значение false', () => {
|
|
35
|
+
const value = false;
|
|
36
|
+
const result = expect_bool(value);
|
|
37
|
+
expect(result).toBe(true);
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
test('Должна корректно обрабатывать значение, не являющееся логическим типом', () => {
|
|
41
|
+
expect(() => expect_bool('true')).toThrow(TypeError);
|
|
42
|
+
expect(() => expect_bool('true')).toThrow('');
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
test('Должна корректно обрабатывать значение null', () => {
|
|
46
|
+
expect(() => expect_bool(null)).toThrow(TypeError);
|
|
47
|
+
expect(() => expect_bool(null)).toThrow('');
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
test('Должна корректно обрабатывать значение undefined', () => {
|
|
51
|
+
expect(() => expect_bool(undefined)).toThrow(TypeError);
|
|
52
|
+
expect(() => expect_bool(undefined)).toThrow('');
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
test('Должна корректно обрабатывать значение объекта', () => {
|
|
56
|
+
expect(() => expect_bool({})).toThrow(TypeError);
|
|
57
|
+
expect(() => expect_bool({})).toThrow('');
|
|
58
|
+
});
|
|
59
|
+
});
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { expect, test, describe } from '@jest/globals';
|
|
2
|
+
import { expect_boolean } from '../../index.mjs';
|
|
3
|
+
|
|
4
|
+
describe('Функция expect_boolean', () => {
|
|
5
|
+
test('Должна возвращать true, если значение является логическим типом', () => {
|
|
6
|
+
const value = true;
|
|
7
|
+
const result = expect_boolean(value);
|
|
8
|
+
expect(result).toBe(true);
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
test('Должна выбрасывать ошибку, если значение не является логическим типом', () => {
|
|
12
|
+
expect(() => expect_boolean(123)).toThrow(TypeError);
|
|
13
|
+
expect(() => expect_boolean(123)).toThrow('');
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
test('Должна выбрасывать ошибку с пользовательским сообщением, если значение не является логическим типом', () => {
|
|
17
|
+
expect(() => expect_boolean(123, 'Значение должно быть логическим типом.')).toThrow(
|
|
18
|
+
TypeError,
|
|
19
|
+
);
|
|
20
|
+
expect(() => expect_boolean(123, 'Значение должно быть логическим типом.')).toThrow(
|
|
21
|
+
'Значение должно быть логическим типом.',
|
|
22
|
+
);
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
test('Должна выбрасывать ошибку, если параметр message не является строкой', () => {
|
|
26
|
+
expect(() => expect_boolean(true, 123)).toThrow(TypeError);
|
|
27
|
+
expect(() => expect_boolean(true, 123)).toThrow('Параметр "message" должен быть строкой.');
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
test('Должна корректно обрабатывать значение true', () => {
|
|
31
|
+
const value = true;
|
|
32
|
+
const result = expect_boolean(value);
|
|
33
|
+
expect(result).toBe(true);
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
test('Должна корректно обрабатывать значение false', () => {
|
|
37
|
+
const value = false;
|
|
38
|
+
const result = expect_boolean(value);
|
|
39
|
+
expect(result).toBe(true);
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
test('Должна корректно обрабатывать значение, не являющееся логическим типом', () => {
|
|
43
|
+
expect(() => expect_boolean('true')).toThrow(TypeError);
|
|
44
|
+
expect(() => expect_boolean('true')).toThrow('');
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
test('Должна корректно обрабатывать значение null', () => {
|
|
48
|
+
expect(() => expect_boolean(null)).toThrow(TypeError);
|
|
49
|
+
expect(() => expect_boolean(null)).toThrow('');
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
test('Должна корректно обрабатывать значение undefined', () => {
|
|
53
|
+
expect(() => expect_boolean(undefined)).toThrow(TypeError);
|
|
54
|
+
expect(() => expect_boolean(undefined)).toThrow('');
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
test('Должна корректно обрабатывать значение объекта', () => {
|
|
58
|
+
expect(() => expect_boolean({})).toThrow(TypeError);
|
|
59
|
+
expect(() => expect_boolean({})).toThrow('');
|
|
60
|
+
});
|
|
61
|
+
});
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { expect, test, describe } from '@jest/globals';
|
|
2
|
+
import { expect_char } from '../../index.mjs';
|
|
3
|
+
|
|
4
|
+
describe('Функция expect_char', () => {
|
|
5
|
+
test('Должна возвращать true, если значение является символом', () => {
|
|
6
|
+
const value = 'a';
|
|
7
|
+
const result = expect_char(value);
|
|
8
|
+
expect(result).toBe(true);
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
test('Должна выбрасывать ошибку, если значение не является символом', () => {
|
|
12
|
+
expect(() => expect_char('abc')).toThrow(TypeError);
|
|
13
|
+
expect(() => expect_char('abc')).toThrow('');
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
test('Должна выбрасывать ошибку с пользовательским сообщением, если значение не является символом', () => {
|
|
17
|
+
expect(() => expect_char('abc', 'Значение должно быть символом.')).toThrow(TypeError);
|
|
18
|
+
expect(() => expect_char('abc', 'Значение должно быть символом.')).toThrow(
|
|
19
|
+
'Значение должно быть символом.',
|
|
20
|
+
);
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
test('Должна выбрасывать ошибку, если параметр message не является строкой', () => {
|
|
24
|
+
expect(() => expect_char('a', 123)).toThrow(TypeError);
|
|
25
|
+
expect(() => expect_char('a', 123)).toThrow('Параметр "message" должен быть строкой.');
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
test('Должна корректно обрабатывать значение символа', () => {
|
|
29
|
+
const value = 'b';
|
|
30
|
+
const result = expect_char(value);
|
|
31
|
+
expect(result).toBe(true);
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
test('Должна корректно обрабатывать значение пустой строки', () => {
|
|
35
|
+
expect(() => expect_char('')).toThrow(TypeError);
|
|
36
|
+
expect(() => expect_char('')).toThrow('');
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
test('Должна корректно обрабатывать значение строки с несколькими символами', () => {
|
|
40
|
+
expect(() => expect_char('ab')).toThrow(TypeError);
|
|
41
|
+
expect(() => expect_char('ab')).toThrow('');
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
test('Должна корректно обрабатывать значение числа', () => {
|
|
45
|
+
expect(() => expect_char(123)).toThrow(TypeError);
|
|
46
|
+
expect(() => expect_char(123)).toThrow('');
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
test('Должна корректно обрабатывать значение null', () => {
|
|
50
|
+
expect(() => expect_char(null)).toThrow(TypeError);
|
|
51
|
+
expect(() => expect_char(null)).toThrow('');
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
test('Должна корректно обрабатывать значение undefined', () => {
|
|
55
|
+
expect(() => expect_char(undefined)).toThrow(TypeError);
|
|
56
|
+
expect(() => expect_char(undefined)).toThrow('');
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
test('Должна корректно обрабатывать значение объекта', () => {
|
|
60
|
+
expect(() => expect_char({})).toThrow(TypeError);
|
|
61
|
+
expect(() => expect_char({})).toThrow('');
|
|
62
|
+
});
|
|
63
|
+
});
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { expect, test, describe } from '@jest/globals';
|
|
2
|
+
import { expect_class } from '../../index.mjs';
|
|
3
|
+
|
|
4
|
+
describe('Функция expect_class', () => {
|
|
5
|
+
test('Должна возвращать true, если значение является классом', () => {
|
|
6
|
+
class MyClass {}
|
|
7
|
+
const result = expect_class(MyClass);
|
|
8
|
+
expect(result).toBe(true);
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
test('Должна выбрасывать ошибку, если значение не является классом', () => {
|
|
12
|
+
expect(() => expect_class('not a class')).toThrow(TypeError);
|
|
13
|
+
expect(() => expect_class('not a class')).toThrow('');
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
test('Должна выбрасывать ошибку с пользовательским сообщением, если значение не является классом', () => {
|
|
17
|
+
expect(() => expect_class('not a class', 'Значение должно быть классом.')).toThrow(
|
|
18
|
+
TypeError,
|
|
19
|
+
);
|
|
20
|
+
expect(() => expect_class('not a class', 'Значение должно быть классом.')).toThrow(
|
|
21
|
+
'Значение должно быть классом.',
|
|
22
|
+
);
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
test('Должна выбрасывать ошибку, если параметр message не является строкой', () => {
|
|
26
|
+
expect(() => expect_class(class {}, 123)).toThrow(TypeError);
|
|
27
|
+
expect(() => expect_class(class {}, 123)).toThrow(
|
|
28
|
+
'Параметр "message" должен быть строкой.',
|
|
29
|
+
);
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
test('Должна корректно обрабатывать значение класса', () => {
|
|
33
|
+
class AnotherClass {}
|
|
34
|
+
const result = expect_class(AnotherClass);
|
|
35
|
+
expect(result).toBe(true);
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
test('Должна корректно обрабатывать значение функции', () => {
|
|
39
|
+
function notAClass() {}
|
|
40
|
+
expect(() => expect_class(notAClass)).toThrow(TypeError);
|
|
41
|
+
expect(() => expect_class(notAClass)).toThrow('');
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
test('Должна корректно обрабатывать значение объекта', () => {
|
|
45
|
+
const obj = {};
|
|
46
|
+
expect(() => expect_class(obj)).toThrow(TypeError);
|
|
47
|
+
expect(() => expect_class(obj)).toThrow('');
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
test('Должна корректно обрабатывать значение null', () => {
|
|
51
|
+
expect(() => expect_class(null)).toThrow(TypeError);
|
|
52
|
+
expect(() => expect_class(null)).toThrow('');
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
test('Должна корректно обрабатывать значение undefined', () => {
|
|
56
|
+
expect(() => expect_class(undefined)).toThrow(TypeError);
|
|
57
|
+
expect(() => expect_class(undefined)).toThrow('');
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
test('Должна корректно обрабатывать значение строки', () => {
|
|
61
|
+
expect(() => expect_class('class')).toThrow(TypeError);
|
|
62
|
+
expect(() => expect_class('class')).toThrow('');
|
|
63
|
+
});
|
|
64
|
+
});
|