@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.
Files changed (355) hide show
  1. package/CHANGELOG.md +319 -1
  2. package/docs/classes/Expect/toBe.md +61 -0
  3. package/docs/classes/Expect/toBeArray.md +52 -0
  4. package/docs/classes/Expect/toBeAssoc.md +53 -0
  5. package/docs/classes/Expect/toBeBigInt.md +52 -0
  6. package/docs/classes/Expect/toBeBool.md +53 -0
  7. package/docs/classes/Expect/toBeBoolean.md +53 -0
  8. package/docs/classes/Expect/toBeChar.md +53 -0
  9. package/docs/classes/Expect/toBeClass.md +53 -0
  10. package/docs/classes/Expect/toBeFloat.md +53 -0
  11. package/docs/classes/Expect/toBeFunction.md +52 -0
  12. package/docs/classes/Expect/toBeInfinity.md +53 -0
  13. package/docs/classes/Expect/toBeInt.md +53 -0
  14. package/docs/classes/Expect/toBeInteger.md +53 -0
  15. package/docs/classes/Expect/toBeList.md +53 -0
  16. package/docs/classes/Expect/toBeNaN.md +53 -0
  17. package/docs/classes/Expect/toBeNull.md +51 -0
  18. package/docs/classes/Expect/toBeNumber.md +52 -0
  19. package/docs/classes/Expect/toBeNumeric.md +53 -0
  20. package/docs/classes/Expect/toBeObject.md +52 -0
  21. package/docs/classes/Expect/toBeScalar.md +53 -0
  22. package/docs/classes/Expect/toBeString.md +52 -0
  23. package/docs/classes/Expect/toBeSymbol.md +53 -0
  24. package/docs/classes/Expect/toBeUndefined.md +54 -0
  25. package/docs/classes/Expect/toEqual.md +69 -0
  26. package/docs/classes/Expect/toStrictEqual.md +70 -0
  27. package/docs/classes/Expect.md +87 -0
  28. package/docs/classes/Type/expectArray.md +63 -0
  29. package/docs/classes/Type/expectAssoc.md +65 -0
  30. package/docs/classes/Type/expectBigInt.md +63 -0
  31. package/docs/classes/Type/expectBool.md +65 -0
  32. package/docs/classes/Type/expectBoolean.md +65 -0
  33. package/docs/classes/Type/expectChar.md +63 -0
  34. package/docs/classes/Type/expectClass.md +63 -0
  35. package/docs/classes/Type/expectFloat.md +68 -0
  36. package/docs/classes/Type/expectFunction.md +63 -0
  37. package/docs/classes/Type/expectInfinity.md +65 -0
  38. package/docs/classes/Type/expectInt.md +64 -0
  39. package/docs/classes/Type/expectInteger.md +64 -0
  40. package/docs/classes/Type/expectList.md +63 -0
  41. package/docs/classes/Type/expectNaN.md +63 -0
  42. package/docs/classes/Type/expectNull.md +63 -0
  43. package/docs/classes/Type/expectNumber.md +63 -0
  44. package/docs/classes/Type/expectNumeric.md +63 -0
  45. package/docs/classes/Type/expectObject.md +64 -0
  46. package/docs/classes/Type/expectScalar.md +63 -0
  47. package/docs/classes/Type/expectString.md +63 -0
  48. package/docs/classes/Type/expectSymbol.md +63 -0
  49. package/docs/classes/Type/expectUndefined.md +63 -0
  50. package/docs/classes/Type.md +101 -2
  51. package/docs/classes.md +2 -1
  52. package/docs/helpers/array/array_chunk.md +80 -0
  53. package/docs/helpers/array/array_chunk_with_keys.md +81 -0
  54. package/docs/helpers/array/array_column.md +110 -0
  55. package/docs/helpers/array/array_combine.md +77 -0
  56. package/docs/helpers/array/array_count_values.md +71 -0
  57. package/docs/helpers/array/array_diff.md +97 -0
  58. package/docs/helpers/array/array_diff_assoc.md +81 -0
  59. package/docs/helpers/array/array_diff_key.md +81 -0
  60. package/docs/helpers/array/array_diff_uassoc.md +101 -0
  61. package/docs/helpers/array/array_diff_ukey.md +101 -0
  62. package/docs/helpers/array/array_fill.md +81 -0
  63. package/docs/helpers/array/array_fill_keys.md +73 -0
  64. package/docs/helpers/array/array_filter.md +79 -0
  65. package/docs/helpers/array/array_flip.md +70 -0
  66. package/docs/helpers/array/array_index_max.md +78 -0
  67. package/docs/helpers/array/array_index_min.md +78 -0
  68. package/docs/helpers/array/array_intersect.md +91 -0
  69. package/docs/helpers/array/array_intersect_assoc.md +91 -0
  70. package/docs/helpers/array/array_intersect_key.md +91 -0
  71. package/docs/helpers/array/array_intersect_uassoc.md +101 -0
  72. package/docs/helpers/array/array_intersect_ukey.md +101 -0
  73. package/docs/helpers/array/array_key_exists.md +73 -0
  74. package/docs/helpers/array/array_key_first.md +62 -0
  75. package/docs/helpers/array/array_key_last.md +62 -0
  76. package/docs/helpers/array/array_key_to_lower_case.md +57 -0
  77. package/docs/helpers/array/array_key_to_upper_case.md +57 -0
  78. package/docs/helpers/array/array_keys.md +62 -0
  79. package/docs/helpers/array/array_map.md +69 -0
  80. package/docs/helpers/array/array_merge.md +67 -0
  81. package/docs/helpers/array/array_merge_recursive.md +86 -0
  82. package/docs/helpers/array/array_pad.md +83 -0
  83. package/docs/helpers/array/array_pop.md +64 -0
  84. package/docs/helpers/array/array_product.md +62 -0
  85. package/docs/helpers/array/array_push.md +57 -0
  86. package/docs/helpers/array/array_rand.md +99 -0
  87. package/docs/helpers/array/array_reduce.md +77 -0
  88. package/docs/helpers/array/array_replace.md +85 -0
  89. package/docs/helpers/array/array_replace_recursive.md +87 -0
  90. package/docs/helpers/array/array_reverse.md +55 -0
  91. package/docs/helpers/array/array_search.md +74 -0
  92. package/docs/helpers/array/array_shift.md +64 -0
  93. package/docs/helpers/array/array_slice.md +65 -0
  94. package/docs/helpers/array/array_splice.md +103 -0
  95. package/docs/helpers/array/array_sum.md +55 -0
  96. package/docs/helpers/array/array_udiff.md +97 -0
  97. package/docs/helpers/array/array_udiff_assoc.md +101 -0
  98. package/docs/helpers/array/array_udiff_uassoc.md +88 -0
  99. package/docs/helpers/array/array_uintersect.md +101 -0
  100. package/docs/helpers/array/array_uintersect_assoc.md +102 -0
  101. package/docs/helpers/array/array_uintersect_uassoc.md +135 -0
  102. package/docs/helpers/array/array_unique.md +54 -0
  103. package/docs/helpers/array/array_unshift.md +58 -0
  104. package/docs/helpers/array/array_values.md +54 -0
  105. package/docs/helpers/array/array_walk.md +87 -0
  106. package/docs/helpers/array/array_walk_recursive.md +93 -0
  107. package/docs/helpers/array/count.md +54 -0
  108. package/docs/helpers/array/in_array.md +65 -0
  109. package/docs/helpers/array/natsort.md +60 -0
  110. package/docs/helpers/array/range.md +76 -0
  111. package/docs/helpers/array/shuffle.md +74 -0
  112. package/docs/helpers/array/sort.md +79 -0
  113. package/docs/helpers/expect.md +58 -0
  114. package/docs/helpers/expect_array.md +63 -0
  115. package/docs/helpers/expect_assoc.md +65 -0
  116. package/docs/helpers/expect_bigint.md +63 -0
  117. package/docs/helpers/expect_bool.md +65 -0
  118. package/docs/helpers/expect_boolean.md +65 -0
  119. package/docs/helpers/expect_char.md +63 -0
  120. package/docs/helpers/expect_class.md +63 -0
  121. package/docs/helpers/expect_float.md +65 -0
  122. package/docs/helpers/expect_function.md +63 -0
  123. package/docs/helpers/expect_infinity.md +65 -0
  124. package/docs/helpers/expect_int.md +65 -0
  125. package/docs/helpers/expect_integer.md +65 -0
  126. package/docs/helpers/expect_list.md +63 -0
  127. package/docs/helpers/expect_nan.md +63 -0
  128. package/docs/helpers/expect_null.md +63 -0
  129. package/docs/helpers/expect_number.md +63 -0
  130. package/docs/helpers/expect_numeric.md +63 -0
  131. package/docs/helpers/expect_object.md +64 -0
  132. package/docs/helpers/expect_scalar.md +63 -0
  133. package/docs/helpers/expect_string.md +63 -0
  134. package/docs/helpers/expect_symbol.md +63 -0
  135. package/docs/helpers/expect_undefined.md +64 -0
  136. package/docs/helpers/is_char.md +84 -0
  137. package/docs/helpers/is_equal.md +75 -0
  138. package/docs/helpers/string/is_digit_char.md +70 -0
  139. package/docs/helpers/string/is_whitespace_char.md +70 -0
  140. package/docs/helpers/string/natcompare.md +69 -0
  141. package/docs/helpers/string/natcompare_numeric.md +70 -0
  142. package/docs/helpers.md +172 -1
  143. package/index.mjs +91 -1
  144. package/package.json +1 -1
  145. package/prettier.config.mjs +2 -1
  146. package/src/classes/Expect.mjs +1445 -0
  147. package/src/classes/Type.mjs +2739 -1284
  148. package/src/constants.mjs +83 -14
  149. package/src/helpers/array/array_chunk.mjs +102 -0
  150. package/src/helpers/array/array_chunk_with_keys.mjs +102 -0
  151. package/src/helpers/array/array_column.mjs +131 -0
  152. package/src/helpers/array/array_combine.mjs +26 -0
  153. package/src/helpers/array/array_count_values.mjs +82 -0
  154. package/src/helpers/array/array_diff.mjs +77 -0
  155. package/src/helpers/array/array_diff_assoc.mjs +56 -0
  156. package/src/helpers/array/array_diff_key.mjs +56 -0
  157. package/src/helpers/array/array_diff_uassoc.mjs +76 -0
  158. package/src/helpers/array/array_diff_ukey.mjs +71 -0
  159. package/src/helpers/array/array_fill.mjs +108 -0
  160. package/src/helpers/array/array_fill_keys.mjs +90 -0
  161. package/src/helpers/array/array_filter.mjs +105 -0
  162. package/src/helpers/array/array_flip.mjs +58 -0
  163. package/src/helpers/array/array_index_max.mjs +82 -0
  164. package/src/helpers/array/array_index_min.mjs +82 -0
  165. package/src/helpers/array/array_intersect.mjs +71 -0
  166. package/src/helpers/array/array_intersect_assoc.mjs +67 -0
  167. package/src/helpers/array/array_intersect_key.mjs +67 -0
  168. package/src/helpers/array/array_intersect_uassoc.mjs +77 -0
  169. package/src/helpers/array/array_intersect_ukey.mjs +72 -0
  170. package/src/helpers/array/array_key_exists.mjs +83 -0
  171. package/src/helpers/array/array_key_first.mjs +73 -0
  172. package/src/helpers/array/array_key_last.mjs +74 -0
  173. package/src/helpers/array/array_key_to_lower_case.mjs +71 -0
  174. package/src/helpers/array/array_key_to_upper_case.mjs +71 -0
  175. package/src/helpers/array/array_keys.mjs +65 -0
  176. package/src/helpers/array/array_map.mjs +84 -0
  177. package/src/helpers/array/array_merge.mjs +95 -0
  178. package/src/helpers/array/array_merge_recursive.mjs +153 -0
  179. package/src/helpers/array/array_pad.mjs +105 -0
  180. package/src/helpers/array/array_pop.mjs +82 -0
  181. package/src/helpers/array/array_product.mjs +67 -0
  182. package/src/helpers/array/array_push.mjs +75 -0
  183. package/src/helpers/array/array_rand.mjs +129 -0
  184. package/src/helpers/array/array_reduce.mjs +90 -0
  185. package/src/helpers/array/array_replace.mjs +25 -0
  186. package/src/helpers/array/array_replace_recursive.mjs +109 -0
  187. package/src/helpers/array/array_reverse.mjs +62 -0
  188. package/src/helpers/array/array_search.mjs +104 -0
  189. package/src/helpers/array/array_shift.mjs +78 -0
  190. package/src/helpers/array/array_slice.mjs +99 -0
  191. package/src/helpers/array/array_splice.mjs +218 -0
  192. package/src/helpers/array/array_sum.mjs +60 -0
  193. package/src/helpers/array/array_udiff.mjs +91 -0
  194. package/src/helpers/array/array_udiff_assoc.mjs +71 -0
  195. package/src/helpers/array/array_udiff_uassoc.mjs +124 -0
  196. package/src/helpers/array/array_uintersect.mjs +72 -0
  197. package/src/helpers/array/array_uintersect_assoc.mjs +77 -0
  198. package/src/helpers/array/array_uintersect_uassoc.mjs +121 -0
  199. package/src/helpers/array/array_unique.mjs +77 -0
  200. package/src/helpers/array/array_unshift.mjs +64 -0
  201. package/src/helpers/array/array_values.mjs +57 -0
  202. package/src/helpers/array/array_walk.mjs +95 -0
  203. package/src/helpers/array/array_walk_recursive.mjs +104 -0
  204. package/src/helpers/array/count.mjs +57 -0
  205. package/src/helpers/array/in_array.mjs +67 -0
  206. package/src/helpers/array/natsort.mjs +62 -0
  207. package/src/helpers/array/range.mjs +121 -0
  208. package/src/helpers/array/shuffle.mjs +73 -0
  209. package/src/helpers/array/sort.mjs +69 -0
  210. package/src/helpers/expect.mjs +44 -0
  211. package/src/helpers/expect_array.mjs +66 -0
  212. package/src/helpers/expect_assoc.mjs +66 -0
  213. package/src/helpers/expect_bigint.mjs +66 -0
  214. package/src/helpers/expect_bool.mjs +66 -0
  215. package/src/helpers/expect_boolean.mjs +57 -0
  216. package/src/helpers/expect_char.mjs +66 -0
  217. package/src/helpers/expect_class.mjs +66 -0
  218. package/src/helpers/expect_float.mjs +66 -0
  219. package/src/helpers/expect_function.mjs +66 -0
  220. package/src/helpers/expect_infinity.mjs +66 -0
  221. package/src/helpers/expect_int.mjs +66 -0
  222. package/src/helpers/expect_integer.mjs +57 -0
  223. package/src/helpers/expect_list.mjs +66 -0
  224. package/src/helpers/expect_nan.mjs +66 -0
  225. package/src/helpers/expect_null.mjs +66 -0
  226. package/src/helpers/expect_number.mjs +66 -0
  227. package/src/helpers/expect_numeric.mjs +66 -0
  228. package/src/helpers/expect_object.mjs +67 -0
  229. package/src/helpers/expect_scalar.mjs +66 -0
  230. package/src/helpers/expect_string.mjs +65 -0
  231. package/src/helpers/expect_symbol.mjs +66 -0
  232. package/src/helpers/expect_undefined.mjs +66 -0
  233. package/src/helpers/is_char.mjs +54 -0
  234. package/src/helpers/is_equal.mjs +94 -0
  235. package/src/helpers/string/is_digit_char.mjs +60 -0
  236. package/src/helpers/string/is_whitespace_char.mjs +54 -0
  237. package/src/helpers/string/natcompare.mjs +107 -0
  238. package/src/helpers/string/natcompare_numeric.mjs +131 -0
  239. package/tests/classes/Expect/toBe.test.mjs +60 -0
  240. package/tests/classes/Expect/toBeArray.test.mjs +46 -0
  241. package/tests/classes/Expect/toBeAssoc.test.mjs +48 -0
  242. package/tests/classes/Expect/toBeBigInt.test.mjs +46 -0
  243. package/tests/classes/Expect/toBeBool.test.mjs +48 -0
  244. package/tests/classes/Expect/toBeBoolean.test.mjs +48 -0
  245. package/tests/classes/Expect/toBeChar.test.mjs +46 -0
  246. package/tests/classes/Expect/toBeClass.test.mjs +48 -0
  247. package/tests/classes/Expect/toBeFloat.test.mjs +48 -0
  248. package/tests/classes/Expect/toBeFunction.test.mjs +51 -0
  249. package/tests/classes/Expect/toBeInfinity.test.mjs +48 -0
  250. package/tests/classes/Expect/toBeInt.test.mjs +48 -0
  251. package/tests/classes/Expect/toBeInteger.test.mjs +48 -0
  252. package/tests/classes/Expect/toBeList.test.mjs +46 -0
  253. package/tests/classes/Expect/toBeNaN.test.mjs +46 -0
  254. package/tests/classes/Expect/toBeNull.test.mjs +46 -0
  255. package/tests/classes/Expect/toBeNumber.test.mjs +46 -0
  256. package/tests/classes/Expect/toBeNumeric.test.mjs +53 -0
  257. package/tests/classes/Expect/toBeObject.test.mjs +47 -0
  258. package/tests/classes/Expect/toBeScalar.test.mjs +63 -0
  259. package/tests/classes/Expect/toBeString.test.mjs +46 -0
  260. package/tests/classes/Expect/toBeSymbol.test.mjs +46 -0
  261. package/tests/classes/Expect/toBeUndefined.test.mjs +50 -0
  262. package/tests/classes/Expect/toEqual.test.mjs +66 -0
  263. package/tests/classes/Expect/toStrictEqual.test.mjs +73 -0
  264. package/tests/classes/Type.test.mjs +1320 -1262
  265. package/tests/helpers/array/array_chunk.test.mjs +49 -0
  266. package/tests/helpers/array/array_chunk_with_keys.test.mjs +45 -0
  267. package/tests/helpers/array/array_column.test.mjs +87 -0
  268. package/tests/helpers/array/array_combine.test.mjs +41 -0
  269. package/tests/helpers/array/array_count_values.test.mjs +40 -0
  270. package/tests/helpers/array/array_diff.test.mjs +78 -0
  271. package/tests/helpers/array/array_diff_assoc.test.mjs +64 -0
  272. package/tests/helpers/array/array_diff_key.test.mjs +64 -0
  273. package/tests/helpers/array/array_diff_uassoc.test.mjs +73 -0
  274. package/tests/helpers/array/array_diff_ukey.test.mjs +77 -0
  275. package/tests/helpers/array/array_fill.test.mjs +47 -0
  276. package/tests/helpers/array/array_fill_keys.test.mjs +35 -0
  277. package/tests/helpers/array/array_filter.test.mjs +38 -0
  278. package/tests/helpers/array/array_flip.test.mjs +33 -0
  279. package/tests/helpers/array/array_index_max.test.mjs +41 -0
  280. package/tests/helpers/array/array_index_min.test.mjs +41 -0
  281. package/tests/helpers/array/array_intersect.test.mjs +65 -0
  282. package/tests/helpers/array/array_intersect_assoc.test.mjs +65 -0
  283. package/tests/helpers/array/array_intersect_key.test.mjs +65 -0
  284. package/tests/helpers/array/array_intersect_uassoc.test.mjs +76 -0
  285. package/tests/helpers/array/array_intersect_ukey.test.mjs +74 -0
  286. package/tests/helpers/array/array_key_exists.test.mjs +36 -0
  287. package/tests/helpers/array/array_key_first.test.mjs +29 -0
  288. package/tests/helpers/array/array_key_last.test.mjs +29 -0
  289. package/tests/helpers/array/array_key_to_lower_case.test.mjs +23 -0
  290. package/tests/helpers/array/array_key_to_upper_case.test.mjs +23 -0
  291. package/tests/helpers/array/array_keys.test.mjs +27 -0
  292. package/tests/helpers/array/array_map.test.mjs +32 -0
  293. package/tests/helpers/array/array_merge.test.mjs +37 -0
  294. package/tests/helpers/array/array_merge_recursive.test.mjs +65 -0
  295. package/tests/helpers/array/array_pad.test.mjs +48 -0
  296. package/tests/helpers/array/array_pop.test.mjs +29 -0
  297. package/tests/helpers/array/array_product.test.mjs +33 -0
  298. package/tests/helpers/array/array_push.test.mjs +31 -0
  299. package/tests/helpers/array/array_rand.test.mjs +59 -0
  300. package/tests/helpers/array/array_reduce.test.mjs +44 -0
  301. package/tests/helpers/array/array_replace.test.mjs +46 -0
  302. package/tests/helpers/array/array_replace_recursive.test.mjs +46 -0
  303. package/tests/helpers/array/array_reverse.test.mjs +31 -0
  304. package/tests/helpers/array/array_search.test.mjs +48 -0
  305. package/tests/helpers/array/array_shift.test.mjs +29 -0
  306. package/tests/helpers/array/array_slice.test.mjs +49 -0
  307. package/tests/helpers/array/array_splice.test.mjs +67 -0
  308. package/tests/helpers/array/array_sum.test.mjs +27 -0
  309. package/tests/helpers/array/array_udiff.test.mjs +95 -0
  310. package/tests/helpers/array/array_udiff_assoc.test.mjs +77 -0
  311. package/tests/helpers/array/array_udiff_uassoc.test.mjs +89 -0
  312. package/tests/helpers/array/array_uintersect.test.mjs +78 -0
  313. package/tests/helpers/array/array_uintersect_assoc.test.mjs +80 -0
  314. package/tests/helpers/array/array_uintersect_uassoc.test.mjs +122 -0
  315. package/tests/helpers/array/array_unique.test.mjs +27 -0
  316. package/tests/helpers/array/array_unshift.test.mjs +31 -0
  317. package/tests/helpers/array/array_values.test.mjs +27 -0
  318. package/tests/helpers/array/array_walk.test.mjs +48 -0
  319. package/tests/helpers/array/array_walk_recursive.test.mjs +53 -0
  320. package/tests/helpers/array/count.test.mjs +27 -0
  321. package/tests/helpers/array/in_array.test.mjs +52 -0
  322. package/tests/helpers/array/natsort.test.mjs +71 -0
  323. package/tests/helpers/array/range.test.mjs +51 -0
  324. package/tests/helpers/array/shuffle.test.mjs +42 -0
  325. package/tests/helpers/array/sort.test.mjs +60 -0
  326. package/tests/helpers/array.test.mjs +58 -58
  327. package/tests/helpers/expect.test.mjs +95 -0
  328. package/tests/helpers/expect_array.test.mjs +71 -0
  329. package/tests/helpers/expect_assoc.test.mjs +61 -0
  330. package/tests/helpers/expect_bigint.test.mjs +63 -0
  331. package/tests/helpers/expect_bool.test.mjs +59 -0
  332. package/tests/helpers/expect_boolean.test.mjs +61 -0
  333. package/tests/helpers/expect_char.test.mjs +63 -0
  334. package/tests/helpers/expect_class.test.mjs +64 -0
  335. package/tests/helpers/expect_float.test.mjs +64 -0
  336. package/tests/helpers/expect_function.test.mjs +65 -0
  337. package/tests/helpers/expect_infinity.test.mjs +62 -0
  338. package/tests/helpers/expect_int.test.mjs +57 -0
  339. package/tests/helpers/expect_integer.test.mjs +59 -0
  340. package/tests/helpers/expect_list.test.mjs +73 -0
  341. package/tests/helpers/expect_nan.test.mjs +57 -0
  342. package/tests/helpers/expect_null.test.mjs +57 -0
  343. package/tests/helpers/expect_number.test.mjs +57 -0
  344. package/tests/helpers/expect_numeric.test.mjs +57 -0
  345. package/tests/helpers/expect_object.test.mjs +63 -0
  346. package/tests/helpers/expect_scalar.test.mjs +72 -0
  347. package/tests/helpers/expect_string.test.mjs +65 -0
  348. package/tests/helpers/expect_symbol.test.mjs +66 -0
  349. package/tests/helpers/expect_undefined.test.mjs +59 -0
  350. package/tests/helpers/is_char.test.mjs +40 -0
  351. package/tests/helpers/is_equal.test.mjs +110 -0
  352. package/tests/helpers/string/is_digit_char.test.mjs +32 -0
  353. package/tests/helpers/string/is_whitespace_char.test.mjs +32 -0
  354. package/tests/helpers/string/natcompare.test.mjs +100 -0
  355. package/tests/helpers/string/natcompare_numeric.test.mjs +110 -0
@@ -0,0 +1,48 @@
1
+ import { expect, test, describe } from '@jest/globals';
2
+ import { Expect } from '../../../index.mjs';
3
+
4
+ describe('Метод toBeInfinity класса Expect', () => {
5
+ test('Должен возвращать true, если значение является бесконечностью (Infinity)', () => {
6
+ const expectInstance = new Expect(Infinity);
7
+ expect(expectInstance.toBeInfinity()).toBe(true);
8
+ });
9
+
10
+ test('Должен возвращать true, если значение является отрицательной бесконечностью (-Infinity)', () => {
11
+ const expectInstance = new Expect(-Infinity);
12
+ expect(expectInstance.toBeInfinity()).toBe(true);
13
+ });
14
+
15
+ test('Должен выбрасывать ошибку, если значение не является бесконечностью (число)', () => {
16
+ const expectInstance = new Expect(123);
17
+ expect(() => expectInstance.toBeInfinity()).toThrow(TypeError);
18
+ expect(() => expectInstance.toBeInfinity()).toThrow('');
19
+ });
20
+
21
+ test('Должен выбрасывать ошибку с пользовательским сообщением, если значение не является бесконечностью', () => {
22
+ const expectInstance = new Expect(123);
23
+ expect(() => expectInstance.toBeInfinity('Значение должно быть бесконечностью')).toThrow(
24
+ TypeError,
25
+ );
26
+ expect(() => expectInstance.toBeInfinity('Значение должно быть бесконечностью')).toThrow(
27
+ 'Значение должно быть бесконечностью',
28
+ );
29
+ });
30
+
31
+ test('Должен выбрасывать ошибку, если параметр message не является строкой', () => {
32
+ const expectInstance = new Expect(Infinity);
33
+ expect(() => expectInstance.toBeInfinity(123)).toThrow(TypeError);
34
+ expect(() => expectInstance.toBeInfinity(123)).toThrow(
35
+ 'Параметр "message" должен быть строкой.',
36
+ );
37
+ });
38
+
39
+ test('Должен выбрасывать ошибку, если значение является строкой, а не бесконечностью', () => {
40
+ const expectInstance = new Expect('Infinity');
41
+ expect(() => expectInstance.toBeInfinity()).toThrow(TypeError);
42
+ });
43
+
44
+ test('Должен выбрасывать ошибку, если значение является объектом, а не бесконечностью', () => {
45
+ const expectInstance = new Expect({ a: 1 });
46
+ expect(() => expectInstance.toBeInfinity()).toThrow(TypeError);
47
+ });
48
+ });
@@ -0,0 +1,48 @@
1
+ import { expect, test, describe } from '@jest/globals';
2
+ import { Expect } from '../../../index.mjs';
3
+
4
+ describe('Метод toBeInt класса Expect', () => {
5
+ test('Должен возвращать true, если значение является целым числом', () => {
6
+ const expectInstance = new Expect(123);
7
+ expect(expectInstance.toBeInt()).toBe(true);
8
+ });
9
+
10
+ test('Должен выбрасывать ошибку, если значение не является целым числом (число с плавающей запятой)', () => {
11
+ const expectInstance = new Expect(123.45);
12
+ expect(() => expectInstance.toBeInt()).toThrow(TypeError);
13
+ expect(() => expectInstance.toBeInt()).toThrow('');
14
+ });
15
+
16
+ test('Должен выбрасывать ошибку с пользовательским сообщением, если значение не является целым числом', () => {
17
+ const expectInstance = new Expect(123.45);
18
+ expect(() => expectInstance.toBeInt('Значение должно быть целым числом')).toThrow(
19
+ TypeError,
20
+ );
21
+ expect(() => expectInstance.toBeInt('Значение должно быть целым числом')).toThrow(
22
+ 'Значение должно быть целым числом',
23
+ );
24
+ });
25
+
26
+ test('Должен выбрасывать ошибку, если параметр message не является строкой', () => {
27
+ const expectInstance = new Expect(123);
28
+ expect(() => expectInstance.toBeInt(123)).toThrow(TypeError);
29
+ expect(() => expectInstance.toBeInt(123)).toThrow(
30
+ 'Параметр "message" должен быть строкой.',
31
+ );
32
+ });
33
+
34
+ test('Должен выбрасывать ошибку, если значение является строкой, а не целым числом', () => {
35
+ const expectInstance = new Expect('123');
36
+ expect(() => expectInstance.toBeInt()).toThrow(TypeError);
37
+ });
38
+
39
+ test('Должен выбрасывать ошибку, если значение является объектом, а не целым числом', () => {
40
+ const expectInstance = new Expect({ a: 1 });
41
+ expect(() => expectInstance.toBeInt()).toThrow(TypeError);
42
+ });
43
+
44
+ test('Должен возвращать true, если значение является отрицательным целым числом', () => {
45
+ const expectInstance = new Expect(-123);
46
+ expect(expectInstance.toBeInt()).toBe(true);
47
+ });
48
+ });
@@ -0,0 +1,48 @@
1
+ import { expect, test, describe } from '@jest/globals';
2
+ import { Expect } from '../../../index.mjs';
3
+
4
+ describe('Метод toBeInteger класса Expect', () => {
5
+ test('Должен возвращать true, если значение является целым числом', () => {
6
+ const expectInstance = new Expect(123);
7
+ expect(expectInstance.toBeInteger()).toBe(true);
8
+ });
9
+
10
+ test('Должен выбрасывать ошибку, если значение не является целым числом (число с плавающей запятой)', () => {
11
+ const expectInstance = new Expect(123.45);
12
+ expect(() => expectInstance.toBeInteger()).toThrow(TypeError);
13
+ expect(() => expectInstance.toBeInteger()).toThrow('');
14
+ });
15
+
16
+ test('Должен выбрасывать ошибку с пользовательским сообщением, если значение не является целым числом', () => {
17
+ const expectInstance = new Expect(123.45);
18
+ expect(() => expectInstance.toBeInteger('Значение должно быть целым числом')).toThrow(
19
+ TypeError,
20
+ );
21
+ expect(() => expectInstance.toBeInteger('Значение должно быть целым числом')).toThrow(
22
+ 'Значение должно быть целым числом',
23
+ );
24
+ });
25
+
26
+ test('Должен выбрасывать ошибку, если параметр message не является строкой', () => {
27
+ const expectInstance = new Expect(123);
28
+ expect(() => expectInstance.toBeInteger(123)).toThrow(TypeError);
29
+ expect(() => expectInstance.toBeInteger(123)).toThrow(
30
+ 'Параметр "message" должен быть строкой.',
31
+ );
32
+ });
33
+
34
+ test('Должен выбрасывать ошибку, если значение является строкой, а не целым числом', () => {
35
+ const expectInstance = new Expect('123');
36
+ expect(() => expectInstance.toBeInteger()).toThrow(TypeError);
37
+ });
38
+
39
+ test('Должен выбрасывать ошибку, если значение является объектом, а не целым числом', () => {
40
+ const expectInstance = new Expect({ a: 1 });
41
+ expect(() => expectInstance.toBeInteger()).toThrow(TypeError);
42
+ });
43
+
44
+ test('Должен возвращать true, если значение является отрицательным целым числом', () => {
45
+ const expectInstance = new Expect(-123);
46
+ expect(expectInstance.toBeInteger()).toBe(true);
47
+ });
48
+ });
@@ -0,0 +1,46 @@
1
+ import { expect, test, describe } from '@jest/globals';
2
+ import { Expect } from '../../../index.mjs';
3
+
4
+ describe('Метод toBeList класса Expect', () => {
5
+ test('Должен возвращать true, если значение является списком (массив)', () => {
6
+ const expectInstance = new Expect([1, 2, 3]);
7
+ expect(expectInstance.toBeList()).toBe(true);
8
+ });
9
+
10
+ test('Должен выбрасывать ошибку, если значение не является списком (строка)', () => {
11
+ const expectInstance = new Expect('not a list');
12
+ expect(() => expectInstance.toBeList()).toThrow(TypeError);
13
+ expect(() => expectInstance.toBeList()).toThrow('');
14
+ });
15
+
16
+ test('Должен выбрасывать ошибку с пользовательским сообщением, если значение не является списком', () => {
17
+ const expectInstance = new Expect('not a list');
18
+ expect(() => expectInstance.toBeList('Значение должно быть списком')).toThrow(TypeError);
19
+ expect(() => expectInstance.toBeList('Значение должно быть списком')).toThrow(
20
+ 'Значение должно быть списком',
21
+ );
22
+ });
23
+
24
+ test('Должен выбрасывать ошибку, если параметр message не является строкой', () => {
25
+ const expectInstance = new Expect([1, 2, 3]);
26
+ expect(() => expectInstance.toBeList(123)).toThrow(TypeError);
27
+ expect(() => expectInstance.toBeList(123)).toThrow(
28
+ 'Параметр "message" должен быть строкой.',
29
+ );
30
+ });
31
+
32
+ test('Должен возвращать true, если значение является пустым списком', () => {
33
+ const expectInstance = new Expect([]);
34
+ expect(expectInstance.toBeList()).toBe(true);
35
+ });
36
+
37
+ test('Должен выбрасывать ошибку, если значение является объектом, а не списком', () => {
38
+ const expectInstance = new Expect({ a: 1, b: 2 });
39
+ expect(() => expectInstance.toBeList()).toThrow(TypeError);
40
+ });
41
+
42
+ test('Должен возвращать true, если значение является списком объектов', () => {
43
+ const expectInstance = new Expect([{ a: 1 }, { b: 2 }]);
44
+ expect(expectInstance.toBeList()).toBe(true);
45
+ });
46
+ });
@@ -0,0 +1,46 @@
1
+ import { expect, test, describe } from '@jest/globals';
2
+ import { Expect } from '../../../index.mjs';
3
+
4
+ describe('Метод toBeNaN класса Expect', () => {
5
+ test('Должен возвращать true, если значение является NaN', () => {
6
+ const expectInstance = new Expect(NaN);
7
+ expect(expectInstance.toBeNaN()).toBe(true);
8
+ });
9
+
10
+ test('Должен выбрасывать ошибку, если значение не является NaN (число)', () => {
11
+ const expectInstance = new Expect(123);
12
+ expect(() => expectInstance.toBeNaN()).toThrow(TypeError);
13
+ expect(() => expectInstance.toBeNaN()).toThrow('');
14
+ });
15
+
16
+ test('Должен выбрасывать ошибку с пользовательским сообщением, если значение не является NaN', () => {
17
+ const expectInstance = new Expect(123);
18
+ expect(() => expectInstance.toBeNaN('Значение должно быть NaN')).toThrow(TypeError);
19
+ expect(() => expectInstance.toBeNaN('Значение должно быть NaN')).toThrow(
20
+ 'Значение должно быть NaN',
21
+ );
22
+ });
23
+
24
+ test('Должен выбрасывать ошибку, если параметр message не является строкой', () => {
25
+ const expectInstance = new Expect(NaN);
26
+ expect(() => expectInstance.toBeNaN(123)).toThrow(TypeError);
27
+ expect(() => expectInstance.toBeNaN(123)).toThrow(
28
+ 'Параметр "message" должен быть строкой.',
29
+ );
30
+ });
31
+
32
+ test('Должен выбрасывать ошибку, если значение является строкой, а не NaN', () => {
33
+ const expectInstance = new Expect('NaN');
34
+ expect(() => expectInstance.toBeNaN()).toThrow(TypeError);
35
+ });
36
+
37
+ test('Должен выбрасывать ошибку, если значение является объектом, а не NaN', () => {
38
+ const expectInstance = new Expect({ a: 1 });
39
+ expect(() => expectInstance.toBeNaN()).toThrow(TypeError);
40
+ });
41
+
42
+ test('Должен выбрасывать ошибку, если значение является undefined, а не NaN', () => {
43
+ const expectInstance = new Expect(undefined);
44
+ expect(() => expectInstance.toBeNaN()).toThrow(TypeError);
45
+ });
46
+ });
@@ -0,0 +1,46 @@
1
+ import { expect, test, describe } from '@jest/globals';
2
+ import { Expect } from '../../../index.mjs';
3
+
4
+ describe('Метод toBeNull класса Expect', () => {
5
+ test('Должен возвращать true, если значение является null', () => {
6
+ const expectInstance = new Expect(null);
7
+ expect(expectInstance.toBeNull()).toBe(true);
8
+ });
9
+
10
+ test('Должен выбрасывать ошибку, если значение не является null (число)', () => {
11
+ const expectInstance = new Expect(123);
12
+ expect(() => expectInstance.toBeNull()).toThrow(TypeError);
13
+ expect(() => expectInstance.toBeNull()).toThrow('');
14
+ });
15
+
16
+ test('Должен выбрасывать ошибку с пользовательским сообщением, если значение не является null', () => {
17
+ const expectInstance = new Expect(123);
18
+ expect(() => expectInstance.toBeNull('Значение должно быть null')).toThrow(TypeError);
19
+ expect(() => expectInstance.toBeNull('Значение должно быть null')).toThrow(
20
+ 'Значение должно быть null',
21
+ );
22
+ });
23
+
24
+ test('Должен выбрасывать ошибку, если параметр message не является строкой', () => {
25
+ const expectInstance = new Expect(null);
26
+ expect(() => expectInstance.toBeNull(123)).toThrow(TypeError);
27
+ expect(() => expectInstance.toBeNull(123)).toThrow(
28
+ 'Параметр "message" должен быть строкой.',
29
+ );
30
+ });
31
+
32
+ test('Должен выбрасывать ошибку, если значение является строкой, а не null', () => {
33
+ const expectInstance = new Expect('null');
34
+ expect(() => expectInstance.toBeNull()).toThrow(TypeError);
35
+ });
36
+
37
+ test('Должен выбрасывать ошибку, если значение является объектом, а не null', () => {
38
+ const expectInstance = new Expect({ a: 1 });
39
+ expect(() => expectInstance.toBeNull()).toThrow(TypeError);
40
+ });
41
+
42
+ test('Должен выбрасывать ошибку, если значение является undefined, а не null', () => {
43
+ const expectInstance = new Expect(undefined);
44
+ expect(() => expectInstance.toBeNull()).toThrow(TypeError);
45
+ });
46
+ });
@@ -0,0 +1,46 @@
1
+ import { expect, test, describe } from '@jest/globals';
2
+ import { Expect } from '../../../index.mjs';
3
+
4
+ describe('Метод toBeNumber класса Expect', () => {
5
+ test('Должен возвращать true, если значение является числом', () => {
6
+ const expectInstance = new Expect(123);
7
+ expect(expectInstance.toBeNumber()).toBe(true);
8
+ });
9
+
10
+ test('Должен выбрасывать ошибку, если значение не является числом (строка)', () => {
11
+ const expectInstance = new Expect('123');
12
+ expect(() => expectInstance.toBeNumber()).toThrow(TypeError);
13
+ expect(() => expectInstance.toBeNumber()).toThrow('');
14
+ });
15
+
16
+ test('Должен выбрасывать ошибку с пользовательским сообщением, если значение не является числом', () => {
17
+ const expectInstance = new Expect('123');
18
+ expect(() => expectInstance.toBeNumber('Значение должно быть числом')).toThrow(TypeError);
19
+ expect(() => expectInstance.toBeNumber('Значение должно быть числом')).toThrow(
20
+ 'Значение должно быть числом',
21
+ );
22
+ });
23
+
24
+ test('Должен выбрасывать ошибку, если параметр message не является строкой', () => {
25
+ const expectInstance = new Expect(123);
26
+ expect(() => expectInstance.toBeNumber(123)).toThrow(TypeError);
27
+ expect(() => expectInstance.toBeNumber(123)).toThrow(
28
+ 'Параметр "message" должен быть строкой.',
29
+ );
30
+ });
31
+
32
+ test('Должен выбрасывать ошибку, если значение является объектом, а не числом', () => {
33
+ const expectInstance = new Expect({ a: 1 });
34
+ expect(() => expectInstance.toBeNumber()).toThrow(TypeError);
35
+ });
36
+
37
+ test('Должен выбрасывать ошибку, если значение является массивом, а не числом', () => {
38
+ const expectInstance = new Expect([1, 2, 3]);
39
+ expect(() => expectInstance.toBeNumber()).toThrow(TypeError);
40
+ });
41
+
42
+ test('Должен возвращать true, если значение является числом с плавающей запятой', () => {
43
+ const expectInstance = new Expect(123.45);
44
+ expect(expectInstance.toBeNumber()).toBe(true);
45
+ });
46
+ });
@@ -0,0 +1,53 @@
1
+ import { expect, test, describe } from '@jest/globals';
2
+ import { Expect } from '../../../index.mjs';
3
+
4
+ describe('Метод toBeNumeric класса Expect', () => {
5
+ test('Должен возвращать true, если значение является числовым (строка)', () => {
6
+ const expectInstance = new Expect('123');
7
+ expect(expectInstance.toBeNumeric()).toBe(true);
8
+ });
9
+
10
+ test('Должен возвращать true, если значение является числовым (число)', () => {
11
+ const expectInstance = new Expect(123);
12
+ expect(expectInstance.toBeNumeric()).toBe(true);
13
+ });
14
+
15
+ test('Должен выбрасывать ошибку, если значение не является числовым (строка)', () => {
16
+ const expectInstance = new Expect('abc');
17
+ expect(() => expectInstance.toBeNumeric()).toThrow(TypeError);
18
+ expect(() => expectInstance.toBeNumeric()).toThrow('');
19
+ });
20
+
21
+ test('Должен выбрасывать ошибку с пользовательским сообщением, если значение не является числовым', () => {
22
+ const expectInstance = new Expect('abc');
23
+ expect(() => expectInstance.toBeNumeric('Значение должно быть числовым')).toThrow(
24
+ TypeError,
25
+ );
26
+ expect(() => expectInstance.toBeNumeric('Значение должно быть числовым')).toThrow(
27
+ 'Значение должно быть числовым',
28
+ );
29
+ });
30
+
31
+ test('Должен выбрасывать ошибку, если параметр message не является строкой', () => {
32
+ const expectInstance = new Expect('123');
33
+ expect(() => expectInstance.toBeNumeric(123)).toThrow(TypeError);
34
+ expect(() => expectInstance.toBeNumeric(123)).toThrow(
35
+ 'Параметр "message" должен быть строкой.',
36
+ );
37
+ });
38
+
39
+ test('Должен выбрасывать ошибку, если значение является объектом, а не числовым', () => {
40
+ const expectInstance = new Expect({ a: 1 });
41
+ expect(() => expectInstance.toBeNumeric()).toThrow(TypeError);
42
+ });
43
+
44
+ test('Должен выбрасывать ошибку, если значение является массивом, а не числовым', () => {
45
+ const expectInstance = new Expect([1, 2, 3]);
46
+ expect(() => expectInstance.toBeNumeric()).toThrow(TypeError);
47
+ });
48
+
49
+ test('Должен возвращать true, если значение является числовым (число с плавающей запятой)', () => {
50
+ const expectInstance = new Expect(123.45);
51
+ expect(expectInstance.toBeNumeric()).toBe(true);
52
+ });
53
+ });
@@ -0,0 +1,47 @@
1
+ import { expect, test, describe } from '@jest/globals';
2
+ import { Expect } from '../../../index.mjs';
3
+
4
+ describe('Метод toBeObject класса Expect', () => {
5
+ test('Должен возвращать true, если значение является объектом', () => {
6
+ class stdClass {}
7
+ const expectInstance = new Expect(new stdClass());
8
+ expect(expectInstance.toBeObject()).toBe(true);
9
+ });
10
+
11
+ test('Должен выбрасывать ошибку, если значение не является объектом (число)', () => {
12
+ const expectInstance = new Expect(123);
13
+ expect(() => expectInstance.toBeObject()).toThrow(TypeError);
14
+ expect(() => expectInstance.toBeObject()).toThrow('');
15
+ });
16
+
17
+ test('Должен выбрасывать ошибку с пользовательским сообщением, если значение не является объектом', () => {
18
+ const expectInstance = new Expect(123);
19
+ expect(() => expectInstance.toBeObject('Значение должно быть объектом')).toThrow(TypeError);
20
+ expect(() => expectInstance.toBeObject('Значение должно быть объектом')).toThrow(
21
+ 'Значение должно быть объектом',
22
+ );
23
+ });
24
+
25
+ test('Должен выбрасывать ошибку, если параметр message не является строкой', () => {
26
+ const expectInstance = new Expect({ a: 1, b: 2 });
27
+ expect(() => expectInstance.toBeObject(123)).toThrow(TypeError);
28
+ expect(() => expectInstance.toBeObject(123)).toThrow(
29
+ 'Параметр "message" должен быть строкой.',
30
+ );
31
+ });
32
+
33
+ test('Должен выбрасывать ошибку, если значение является строкой, а не объектом', () => {
34
+ const expectInstance = new Expect('object');
35
+ expect(() => expectInstance.toBeObject()).toThrow(TypeError);
36
+ });
37
+
38
+ test('Должен выбрасывать ошибку, если значение является массивом, а не объектом', () => {
39
+ const expectInstance = new Expect([1, 2, 3]);
40
+ expect(() => expectInstance.toBeObject()).toThrow(TypeError);
41
+ });
42
+
43
+ test('Должен возвращать выбрасывать ошибку, если значение является ассоциативным массивом', () => {
44
+ const expectInstance = new Expect({});
45
+ expect(() => expectInstance.toBeObject()).toThrow(TypeError);
46
+ });
47
+ });
@@ -0,0 +1,63 @@
1
+ import { expect, test, describe } from '@jest/globals';
2
+ import { Expect } from '../../../index.mjs';
3
+
4
+ describe('Метод toBeScalar класса Expect', () => {
5
+ test('Должен возвращать true, если значение является скалярным (число)', () => {
6
+ const expectInstance = new Expect(123);
7
+ expect(expectInstance.toBeScalar()).toBe(true);
8
+ });
9
+
10
+ test('Должен возвращать true, если значение является скалярным (строка)', () => {
11
+ const expectInstance = new Expect('hello');
12
+ expect(expectInstance.toBeScalar()).toBe(true);
13
+ });
14
+
15
+ test('Должен возвращать true, если значение является скалярным (boolean)', () => {
16
+ const expectInstance = new Expect(true);
17
+ expect(expectInstance.toBeScalar()).toBe(true);
18
+ });
19
+
20
+ test('Должен возвращать true, если значение является скалярным (symbol)', () => {
21
+ const expectInstance = new Expect(Symbol('symbol'));
22
+ expect(expectInstance.toBeScalar()).toBe(true);
23
+ });
24
+
25
+ test('Должен выбрасывать ошибку, если значение не является скалярным (объект)', () => {
26
+ const expectInstance = new Expect({ a: 1 });
27
+ expect(() => expectInstance.toBeScalar()).toThrow(TypeError);
28
+ expect(() => expectInstance.toBeScalar()).toThrow('');
29
+ });
30
+
31
+ test('Должен выбрасывать ошибку с пользовательским сообщением, если значение не является скалярным', () => {
32
+ const expectInstance = new Expect({ a: 1 });
33
+ expect(() => expectInstance.toBeScalar('Значение должно быть скалярным')).toThrow(
34
+ TypeError,
35
+ );
36
+ expect(() => expectInstance.toBeScalar('Значение должно быть скалярным')).toThrow(
37
+ 'Значение должно быть скалярным',
38
+ );
39
+ });
40
+
41
+ test('Должен выбрасывать ошибку, если параметр message не является строкой', () => {
42
+ const expectInstance = new Expect(123);
43
+ expect(() => expectInstance.toBeScalar(123)).toThrow(TypeError);
44
+ expect(() => expectInstance.toBeScalar(123)).toThrow(
45
+ 'Параметр "message" должен быть строкой.',
46
+ );
47
+ });
48
+
49
+ test('Должен выбрасывать ошибку, если значение является массивом, а не скалярным', () => {
50
+ const expectInstance = new Expect([1, 2, 3]);
51
+ expect(() => expectInstance.toBeScalar()).toThrow(TypeError);
52
+ });
53
+
54
+ test('Должен выбрасывать ошибку, если значение является null, а не скалярным', () => {
55
+ const expectInstance = new Expect(null);
56
+ expect(() => expectInstance.toBeScalar()).toThrow(TypeError);
57
+ });
58
+
59
+ test('Должен выбрасывать ошибку, если значение является undefined, а не скалярным', () => {
60
+ const expectInstance = new Expect(undefined);
61
+ expect(() => expectInstance.toBeScalar()).toThrow(TypeError);
62
+ });
63
+ });
@@ -0,0 +1,46 @@
1
+ import { expect, test, describe } from '@jest/globals';
2
+ import { Expect } from '../../../index.mjs';
3
+
4
+ describe('Метод toBeString класса Expect', () => {
5
+ test('Должен возвращать true, если значение является строкой', () => {
6
+ const expectInstance = new Expect('hello');
7
+ expect(expectInstance.toBeString()).toBe(true);
8
+ });
9
+
10
+ test('Должен выбрасывать ошибку, если значение не является строкой (число)', () => {
11
+ const expectInstance = new Expect(123);
12
+ expect(() => expectInstance.toBeString()).toThrow(TypeError);
13
+ expect(() => expectInstance.toBeString()).toThrow('');
14
+ });
15
+
16
+ test('Должен выбрасывать ошибку с пользовательским сообщением, если значение не является строкой', () => {
17
+ const expectInstance = new Expect(123);
18
+ expect(() => expectInstance.toBeString('Значение должно быть строкой')).toThrow(TypeError);
19
+ expect(() => expectInstance.toBeString('Значение должно быть строкой')).toThrow(
20
+ 'Значение должно быть строкой',
21
+ );
22
+ });
23
+
24
+ test('Должен выбрасывать ошибку, если параметр message не является строкой', () => {
25
+ const expectInstance = new Expect('hello');
26
+ expect(() => expectInstance.toBeString(123)).toThrow(TypeError);
27
+ expect(() => expectInstance.toBeString(123)).toThrow(
28
+ 'Параметр "message" должен быть строкой.',
29
+ );
30
+ });
31
+
32
+ test('Должен выбрасывать ошибку, если значение является объектом, а не строкой', () => {
33
+ const expectInstance = new Expect({ a: 1 });
34
+ expect(() => expectInstance.toBeString()).toThrow(TypeError);
35
+ });
36
+
37
+ test('Должен выбрасывать ошибку, если значение является массивом, а не строкой', () => {
38
+ const expectInstance = new Expect([1, 2, 3]);
39
+ expect(() => expectInstance.toBeString()).toThrow(TypeError);
40
+ });
41
+
42
+ test('Должен возвращать true, если значение является пустой строкой', () => {
43
+ const expectInstance = new Expect('');
44
+ expect(expectInstance.toBeString()).toBe(true);
45
+ });
46
+ });
@@ -0,0 +1,46 @@
1
+ import { expect, test, describe } from '@jest/globals';
2
+ import { Expect } from '../../../index.mjs';
3
+
4
+ describe('Метод toBeSymbol класса Expect', () => {
5
+ test('Должен возвращать true, если значение является символом', () => {
6
+ const expectInstance = new Expect(Symbol('example'));
7
+ expect(expectInstance.toBeSymbol()).toBe(true);
8
+ });
9
+
10
+ test('Должен выбрасывать ошибку, если значение не является символом (строка)', () => {
11
+ const expectInstance = new Expect('example');
12
+ expect(() => expectInstance.toBeSymbol()).toThrow(TypeError);
13
+ expect(() => expectInstance.toBeSymbol()).toThrow('');
14
+ });
15
+
16
+ test('Должен выбрасывать ошибку с пользовательским сообщением, если значение не является символом', () => {
17
+ const expectInstance = new Expect('example');
18
+ expect(() => expectInstance.toBeSymbol('Значение должно быть символом')).toThrow(TypeError);
19
+ expect(() => expectInstance.toBeSymbol('Значение должно быть символом')).toThrow(
20
+ 'Значение должно быть символом',
21
+ );
22
+ });
23
+
24
+ test('Должен выбрасывать ошибку, если параметр message не является строкой', () => {
25
+ const expectInstance = new Expect(Symbol('example'));
26
+ expect(() => expectInstance.toBeSymbol(123)).toThrow(TypeError);
27
+ expect(() => expectInstance.toBeSymbol(123)).toThrow(
28
+ 'Параметр "message" должен быть строкой.',
29
+ );
30
+ });
31
+
32
+ test('Должен выбрасывать ошибку, если значение является числом, а не символом', () => {
33
+ const expectInstance = new Expect(123);
34
+ expect(() => expectInstance.toBeSymbol()).toThrow(TypeError);
35
+ });
36
+
37
+ test('Должен выбрасывать ошибку, если значение является объектом, а не символом', () => {
38
+ const expectInstance = new Expect({ a: 1 });
39
+ expect(() => expectInstance.toBeSymbol()).toThrow(TypeError);
40
+ });
41
+
42
+ test('Должен возвращать true, если значение является символом (уникальный символ)', () => {
43
+ const expectInstance = new Expect(Symbol.for('unique'));
44
+ expect(expectInstance.toBeSymbol()).toBe(true);
45
+ });
46
+ });
@@ -0,0 +1,50 @@
1
+ import { expect, test, describe } from '@jest/globals';
2
+ import { Expect } from '../../../index.mjs';
3
+
4
+ describe('Метод toBeUndefined класса Expect', () => {
5
+ test('Должен возвращать true, если значение является undefined', () => {
6
+ let value;
7
+ const expectInstance = new Expect(value);
8
+ expect(expectInstance.toBeUndefined()).toBe(true);
9
+ });
10
+
11
+ test('Должен выбрасывать ошибку, если значение не является undefined (число)', () => {
12
+ const expectInstance = new Expect(123);
13
+ expect(() => expectInstance.toBeUndefined()).toThrow(TypeError);
14
+ expect(() => expectInstance.toBeUndefined()).toThrow('');
15
+ });
16
+
17
+ test('Должен выбрасывать ошибку с пользовательским сообщением, если значение не является undefined', () => {
18
+ const expectInstance = new Expect(123);
19
+ expect(() => expectInstance.toBeUndefined('Значение должно быть undefined')).toThrow(
20
+ TypeError,
21
+ );
22
+ expect(() => expectInstance.toBeUndefined('Значение должно быть undefined')).toThrow(
23
+ 'Значение должно быть undefined',
24
+ );
25
+ });
26
+
27
+ test('Должен выбрасывать ошибку, если параметр message не является строкой', () => {
28
+ let value;
29
+ const expectInstance = new Expect(value);
30
+ expect(() => expectInstance.toBeUndefined(123)).toThrow(TypeError);
31
+ expect(() => expectInstance.toBeUndefined(123)).toThrow(
32
+ 'Параметр "message" должен быть строкой.',
33
+ );
34
+ });
35
+
36
+ test('Должен выбрасывать ошибку, если значение является строкой, а не undefined', () => {
37
+ const expectInstance = new Expect('undefined');
38
+ expect(() => expectInstance.toBeUndefined()).toThrow(TypeError);
39
+ });
40
+
41
+ test('Должен выбрасывать ошибку, если значение является объектом, а не undefined', () => {
42
+ const expectInstance = new Expect({ a: 1 });
43
+ expect(() => expectInstance.toBeUndefined()).toThrow(TypeError);
44
+ });
45
+
46
+ test('Должен выбрасывать ошибку, если значение является null, а не undefined', () => {
47
+ const expectInstance = new Expect(null);
48
+ expect(() => expectInstance.toBeUndefined()).toThrow(TypeError);
49
+ });
50
+ });