umt 1.1.7 → 1.2.0

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 (72) hide show
  1. package/module/Advance/index.d.ts +1 -0
  2. package/module/Advance/rangeAdvance.d.ts +9 -0
  3. package/module/Array/checkFlagAlignment.d.ts +3 -0
  4. package/module/Array/checkFlagAlignment.js +26 -0
  5. package/module/Array/checkFlagAlignment.js.map +1 -0
  6. package/module/Date/index.d.ts +2 -3
  7. package/module/Math/calculator/convertCurrency.js +4 -4
  8. package/module/Math/calculator/convertCurrency.js.map +1 -1
  9. package/module/Math/calculator/core.js +66 -40
  10. package/module/Math/calculator/core.js.map +1 -1
  11. package/module/Math/calculator/index.d.ts +5 -6
  12. package/module/Math/calculator/literalExpression.d.ts +3 -2
  13. package/module/Math/calculator/literalExpression.js +42 -36
  14. package/module/Math/calculator/literalExpression.js.map +1 -1
  15. package/module/Math/gcd.d.ts +1 -1
  16. package/module/Math/gcd.js +7 -8
  17. package/module/Math/gcd.js.map +1 -1
  18. package/module/Math/index.d.ts +39 -40
  19. package/module/Math/isDouble.d.ts +1 -0
  20. package/module/Math/isDouble.js +3 -4
  21. package/module/Math/isDouble.js.map +1 -1
  22. package/module/Math/mathConverter.d.ts +7 -3
  23. package/module/Math/mathConverter.js +28 -27
  24. package/module/Math/mathConverter.js.map +1 -1
  25. package/module/Math/mathSeparator.d.ts +6 -1
  26. package/module/Math/mathSeparator.js +20 -6
  27. package/module/Math/mathSeparator.js.map +1 -1
  28. package/module/Math/nCr.d.ts +4 -3
  29. package/module/Math/nCr.js +12 -12
  30. package/module/Math/nCr.js.map +1 -1
  31. package/module/Math/nHr.d.ts +4 -3
  32. package/module/Math/nHr.js +8 -10
  33. package/module/Math/nHr.js.map +1 -1
  34. package/module/Math/nPr.d.ts +4 -3
  35. package/module/Math/nPr.js +10 -30
  36. package/module/Math/nPr.js.map +1 -1
  37. package/module/Simple/Date/index.d.ts +1 -2
  38. package/module/Simple/Tool/dayOfWeekSimple.d.ts +2 -2
  39. package/module/Simple/Tool/index.d.ts +3 -4
  40. package/module/Simple/index.d.ts +4 -5
  41. package/module/Tool/dayOfWeek.d.ts +1 -1
  42. package/module/Tool/index.d.ts +10 -11
  43. package/module/index.d.ts +1 -0
  44. package/module/tests/Advance/rangeAdvance.test.d.ts +1 -0
  45. package/module/tests/Array/checkFlagAlignment.test.d.ts +1 -0
  46. package/module/tests/Array/checkFlagAlignment.test.js +130 -0
  47. package/module/tests/Array/checkFlagAlignment.test.js.map +1 -0
  48. package/module/tests/Math/calculator/calculator.test.js +60 -13
  49. package/module/tests/Math/calculator/calculator.test.js.map +1 -1
  50. package/module/tests/Math/calculator/convertCurrency.test.js +21 -13
  51. package/module/tests/Math/calculator/convertCurrency.test.js.map +1 -1
  52. package/module/tests/Math/calculator/literalExpression.test.js +41 -7
  53. package/module/tests/Math/calculator/literalExpression.test.js.map +1 -1
  54. package/module/tests/Math/gcd.test.js +22 -11
  55. package/module/tests/Math/gcd.test.js.map +1 -1
  56. package/module/tests/Math/lcm.test.js +17 -6
  57. package/module/tests/Math/lcm.test.js.map +1 -1
  58. package/module/tests/Math/mathConverter.test.js +23 -4
  59. package/module/tests/Math/mathConverter.test.js.map +1 -1
  60. package/module/tests/Math/mathSeparator.test.js +33 -7
  61. package/module/tests/Math/mathSeparator.test.js.map +1 -1
  62. package/module/tests/Math/nCr.test.js +16 -5
  63. package/module/tests/Math/nCr.test.js.map +1 -1
  64. package/module/tests/Math/nHr.test.js +17 -4
  65. package/module/tests/Math/nHr.test.js.map +1 -1
  66. package/module/tests/Math/nPr.test.js +16 -9
  67. package/module/tests/Math/nPr.test.js.map +1 -1
  68. package/module/tests/Tool/deleteSpace.test.d.ts +1 -0
  69. package/module/tests/Tool/deleteSpace.test.js +34 -0
  70. package/module/tests/Tool/deleteSpace.test.js.map +1 -0
  71. package/module/tsconfig.tsbuildinfo +1 -1
  72. package/package.json +18 -13
@@ -2,18 +2,26 @@ import { convertCurrency } from "../../../Math/calculator/convertCurrency";
2
2
  /**
3
3
  * convertCurrency関数のテスト
4
4
  */
5
- test("convertCurrency", () => {
6
- // "$1" を 100 倍して "100" になることを確認
7
- expect(convertCurrency("$1", { $: 100 })).toBe("100");
8
- // 未知の通貨記号 "a$" が入力された場合、元の文字列 "a$1" を返すことを確認
9
- expect(convertCurrency("a$1", { $: 100 })).toBe("a$1");
10
- // "a$1" が 100 倍して "100" になることを確認
11
- expect(convertCurrency("a$1", { a$: 100 })).toBe("100");
12
- // 換算レートが指定されていない場合、元の文字列 "$1" を返すことを確認
13
- expect(convertCurrency("$1")).toBe("$1");
14
- // 換算レートが数値でない場合、元の文字列 "$1" を返すことを確認
15
- expect(convertCurrency("$1", { $: "abc" })).toBe("$1");
16
- // 換算レートが文字列の数値の場合、"$1" 100 倍して "100" になることを確認
17
- expect(convertCurrency("$1", { $: "100" })).toBe("100");
5
+ describe("convertCurrency", () => {
6
+ // ケース 1
7
+ test("conversionRatesが未定義", () => {
8
+ expect(convertCurrency("¥1000")).toBe("¥1000");
9
+ });
10
+ // ケース 2
11
+ test("通貨記号がマッチしない", () => {
12
+ expect(convertCurrency("¥1000", { $: 1.1 })).toBe("¥1000");
13
+ });
14
+ // ケース 3
15
+ test("通貨記号がマッチし、換算レートが数値", () => {
16
+ expect(convertCurrency("¥1000", { "¥": 1.1 })).toBe("1100");
17
+ });
18
+ // ケース 4
19
+ test("通貨記号がマッチし、換算レートが数値でない", () => {
20
+ expect(convertCurrency("¥1000", { "¥": "invalid" })).toBe("¥1000");
21
+ });
22
+ // ケース 5
23
+ test("換算結果がNaN", () => {
24
+ expect(convertCurrency("¥NaN", { "¥": 1.1 })).toBe("¥NaN");
25
+ });
18
26
  });
19
27
  //# sourceMappingURL=convertCurrency.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"convertCurrency.test.js","sourceRoot":"","sources":["../../../../src/tests/Math/calculator/convertCurrency.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAEpE;;GAEG;AACH,IAAI,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC3B,gCAAgC;IAChC,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEtD,6CAA6C;IAC7C,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEvD,iCAAiC;IACjC,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAExD,uCAAuC;IACvC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEzC,oCAAoC;IACpC,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEvD,gDAAgD;IAChD,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"convertCurrency.test.js","sourceRoot":"","sources":["../../../../src/tests/Math/calculator/convertCurrency.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAEpE;;GAEG;AACH,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,QAAQ;IACR,IAAI,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAC/B,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,QAAQ;IACR,IAAI,CAAC,aAAa,EAAE,GAAG,EAAE;QACvB,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,QAAQ;IACR,IAAI,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC9B,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,QAAQ;IACR,IAAI,CAAC,uBAAuB,EAAE,GAAG,EAAE;QACjC,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,QAAQ;IACR,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE;QACpB,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,10 +1,44 @@
1
1
  import { literalExpression } from "../../../Math/calculator/literalExpression";
2
- test("literalExpression", () => {
3
- expect(literalExpression("x=1+1")).toBe("2");
4
- expect(literalExpression("x=1+1+1")).toBe("3");
5
- expect(literalExpression("x=1+1+1+1")).toBe("4");
6
- expect(literalExpression("x=1+1+1+1+1")).toBe("5");
7
- expect(literalExpression("x=1+1+1+1-1")).toBe("3");
8
- expect(literalExpression("x=1-1")).toBe("0");
2
+ describe("literalExpression", () => {
3
+ // 基本的な方程式
4
+ test("should handle basic equations", () => {
5
+ expect(literalExpression("x=1")).toBe("1");
6
+ expect(literalExpression("x=0")).toBe("0");
7
+ expect(literalExpression("x=-1")).toBe("-1");
8
+ });
9
+ // 基本的な方程式(右辺)
10
+ test("should handle basic equations (right side)", () => {
11
+ expect(literalExpression("1=x")).toBe("1");
12
+ expect(literalExpression("0=x")).toBe("0");
13
+ expect(literalExpression("-1=x")).toBe("-1");
14
+ });
15
+ // 数値と変数が混在
16
+ test("should handle equations with mixed numerical and variable parts", () => {
17
+ expect(literalExpression("2x=4")).toBe("2");
18
+ expect(literalExpression("1x=1")).toBe("1");
19
+ expect(literalExpression("3x=-6")).toBe("-2");
20
+ expect(literalExpression("2x+2=4")).toBe("1");
21
+ expect(literalExpression("3x-2=-6")).toBe("4/-3");
22
+ });
23
+ // 数値と変数が混在(右辺)
24
+ test("should handle equations with mixed numerical and variable parts (right side)", () => {
25
+ expect(literalExpression("4=2x")).toBe("2");
26
+ expect(literalExpression("1=1x")).toBe("1");
27
+ expect(literalExpression("-6=3x")).toBe("-2");
28
+ expect(literalExpression("4=2x+2")).toBe("1");
29
+ expect(literalExpression("-6=3x-2")).toBe("4/-3");
30
+ });
31
+ // 最大公約数が1より大きい場合
32
+ test("should simplify when gcd is greater than 1", () => {
33
+ expect(literalExpression("2x=8")).toBe("4");
34
+ });
35
+ // 最大公約数が1より大きい場合(右辺)
36
+ test("should simplify when gcd is greater than 1 (right side)", () => {
37
+ expect(literalExpression("8=2x")).toBe("4");
38
+ });
39
+ // 無効な方程式
40
+ test("should handle invalid equations", () => {
41
+ expect(literalExpression("x=x")).toBe("");
42
+ });
9
43
  });
10
44
  //# sourceMappingURL=literalExpression.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"literalExpression.test.js","sourceRoot":"","sources":["../../../../src/tests/Math/calculator/literalExpression.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,IAAI,CAAC,mBAAmB,EAAE,GAAG,EAAE;IAC7B,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7C,MAAM,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/C,MAAM,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjD,MAAM,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnD,MAAM,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnD,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"literalExpression.test.js","sourceRoot":"","sources":["../../../../src/tests/Math/calculator/literalExpression.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,UAAU;IACV,IAAI,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACzC,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3C,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3C,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,cAAc;IACd,IAAI,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACtD,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3C,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3C,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,WAAW;IACX,IAAI,CAAC,iEAAiE,EAAE,GAAG,EAAE;QAC3E,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5C,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5C,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9C,MAAM,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,eAAe;IACf,IAAI,CAAC,8EAA8E,EAAE,GAAG,EAAE;QACxF,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5C,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5C,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9C,MAAM,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,iBAAiB;IACjB,IAAI,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACtD,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,qBAAqB;IACrB,IAAI,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACnE,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,SAAS;IACT,IAAI,CAAC,iCAAiC,EAAE,GAAG,EAAE;QAC3C,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,19 +1,30 @@
1
1
  import { gcd } from "../../Math/gcd";
2
- describe("gcd", () => {
3
- test("gcd of 0 and 0 is 0", () => {
4
- expect(gcd(0, 0)).toBe(0);
2
+ describe("gcd function", () => {
3
+ // 正の整数が2つの場合
4
+ test("two positive integers", () => {
5
+ expect(gcd(56, 48)).toBe(8);
5
6
  });
6
- test("gcd of 0 and non-zero number is 0", () => {
7
- expect(gcd(0, 5)).toBe(0);
7
+ // 正の整数が3つ以上の場合
8
+ test("more than two positive integers", () => {
9
+ expect(gcd(56, 48, 32)).toBe(8);
10
+ expect(gcd(56, 48, 32, 24)).toBe(8);
8
11
  });
9
- test("gcd of two numbers", () => {
10
- expect(gcd(12, 18)).toBe(6);
12
+ // 0が含まれる場合
13
+ test("contains zero", () => {
14
+ expect(gcd(56, 0)).toBe(0);
15
+ expect(gcd(0, 56)).toBe(0);
11
16
  });
12
- test("gcd of three numbers", () => {
13
- expect(gcd(12, 18, 24)).toBe(6);
17
+ // 1が含まれる場合
18
+ test("contains one", () => {
19
+ expect(gcd(56, 1)).toBe(1);
20
+ expect(gcd(1, 56)).toBe(1);
14
21
  });
15
- test("gcd of four numbers", () => {
16
- expect(gcd(12, 18, 24, 36)).toBe(6);
22
+ // 負の数が含まれる場合
23
+ test("contains negative numbers", () => {
24
+ expect(gcd(-56, 48)).toBe(8);
25
+ expect(gcd(56, -48)).toBe(8);
26
+ expect(gcd(-56, -48)).toBe(8);
27
+ expect(gcd(-56, 48, -32)).toBe(8);
17
28
  });
18
29
  });
19
30
  //# sourceMappingURL=gcd.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"gcd.test.js","sourceRoot":"","sources":["../../../src/tests/Math/gcd.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACjC,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE;IACnB,IAAI,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAC/B,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC7C,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC9B,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAChC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAC/B,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"gcd.test.js","sourceRoot":"","sources":["../../../src/tests/Math/gcd.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACjC,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,aAAa;IACb,IAAI,CAAC,uBAAuB,EAAE,GAAG,EAAE;QACjC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,eAAe;IACf,IAAI,CAAC,iCAAiC,EAAE,GAAG,EAAE;QAC3C,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,WAAW;IACX,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE;QACzB,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,WAAW;IACX,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE;QACxB,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,aAAa;IACb,IAAI,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACrC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,9 +1,20 @@
1
1
  import { lcm } from "../../Math/lcm";
2
- test("{lcm}", () => {
3
- expect(lcm(1, 1)).toBe(1);
4
- expect(lcm(1, 2)).toBe(2);
5
- expect(lcm(2, 1)).toBe(2);
6
- expect(lcm(2, 2)).toBe(2);
7
- expect(lcm(2, 3)).toBe(6);
2
+ describe("lcm関数のテスト", () => {
3
+ // 正数同士のテスト
4
+ test("正数の入力", () => {
5
+ expect(lcm(4, 5)).toBe(20);
6
+ });
7
+ // 0を含むテスト
8
+ test("0を含む", () => {
9
+ expect(lcm(0, 5)).toBe(0);
10
+ expect(lcm(4, 0)).toBe(0);
11
+ expect(lcm(0, 0)).toBe(0);
12
+ });
13
+ // 負数を含むテスト
14
+ test("負数を含む", () => {
15
+ expect(lcm(-4, 5)).toBe(-20);
16
+ expect(lcm(4, -5)).toBe(-20);
17
+ expect(lcm(-4, -5)).toBe(20);
18
+ });
8
19
  });
9
20
  //# sourceMappingURL=lcm.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lcm.test.js","sourceRoot":"","sources":["../../../src/tests/Math/lcm.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACjC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;IACjB,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"lcm.test.js","sourceRoot":"","sources":["../../../src/tests/Math/lcm.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACjC,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,WAAW;IACX,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;QACjB,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,UAAU;IACV,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;QAChB,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1B,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1B,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,WAAW;IACX,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;QACjB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;QAC7B,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;QAC7B,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,7 +1,26 @@
1
1
  import { mathConverter } from "../../Math/mathConverter";
2
- test("{mathConverter}", () => {
3
- expect(mathConverter("1250*1250")).toBe("1500*1000+400*100+200*100+50*50");
4
- expect(mathConverter("1250^2")).toBe("1500*1000+400*100+200*100+50*50");
5
- expect(mathConverter("1250")).toBe("1250");
2
+ describe("mathConverter関数のテスト", () => {
3
+ // 乗算のテスト
4
+ test("乗算の変換", () => {
5
+ expect(mathConverter("1250*1250")).toBe("1500*1000+400*100+200*100+50*50");
6
+ expect(mathConverter("1350*1350")).toBe("1700*1000+600*100+400*100+200*100+50*50");
7
+ });
8
+ // 累乗のテスト
9
+ test("累乗の変換", () => {
10
+ expect(mathConverter("1250^2")).toBe("1500*1000+400*100+200*100+50*50");
11
+ expect(mathConverter("1350^2")).toBe("1700*1000+600*100+400*100+200*100+50*50");
12
+ });
13
+ // 何も変換しない場合のテスト
14
+ test("変換が不要な場合", () => {
15
+ expect(mathConverter("1250")).toBe("1250");
16
+ });
17
+ // 複数のオペランドがある場合のテスト
18
+ test("複数のオペランドがある場合の変換", () => {
19
+ expect(mathConverter("1250+1250")).toBe("1250+1250");
20
+ });
21
+ // 無効な入力のテスト
22
+ test("無効な入力の場合", () => {
23
+ expect(mathConverter("abc")).toBe("abc");
24
+ });
6
25
  });
7
26
  //# sourceMappingURL=mathConverter.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mathConverter.test.js","sourceRoot":"","sources":["../../../src/tests/Math/mathConverter.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,IAAI,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC3B,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;IAC3E,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;IACxE,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"mathConverter.test.js","sourceRoot":"","sources":["../../../src/tests/Math/mathConverter.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,SAAS;IACT,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;QACjB,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAC3E,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CACrC,yCAAyC,CAC1C,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,SAAS;IACT,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;QACjB,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QACxE,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAClC,yCAAyC,CAC1C,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,gBAAgB;IAChB,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE;QACpB,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,oBAAoB;IACpB,IAAI,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAC5B,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,YAAY;IACZ,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE;QACpB,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,10 +1,36 @@
1
1
  import { mathSeparator } from "../../Math/mathSeparator";
2
- test("{mathSeparator}", () => {
3
- expect(mathSeparator("1100")).toEqual([1000, 100]);
4
- expect(mathSeparator("1110")).toEqual([1000, 110]);
5
- expect(mathSeparator("1111")).toEqual([1000, 111]);
6
- expect(mathSeparator("11110")).toEqual([10000, 1110]);
7
- expect(mathSeparator("11111")).toEqual([10000, 1111]);
8
- expect(mathSeparator("111110")).toEqual([100000, 11110]);
2
+ describe("mathSeparator", () => {
3
+ // 数字の型(number)のテスト
4
+ it("should handle single digit numbers", () => {
5
+ expect(mathSeparator(5)).toEqual([5, 0]);
6
+ });
7
+ it("should handle multi-digit numbers", () => {
8
+ expect(mathSeparator(1250)).toEqual([1000, 250]);
9
+ });
10
+ // 文字列型の数字のテスト
11
+ it("should handle single digit string numbers", () => {
12
+ expect(mathSeparator("5")).toEqual([5, 0]);
13
+ });
14
+ it("should handle multi-digit string numbers", () => {
15
+ expect(mathSeparator("1250")).toEqual([1000, 250]);
16
+ });
17
+ // 0および'0'のケース
18
+ it("should handle 0", () => {
19
+ expect(mathSeparator(0)).toEqual([0, 0]);
20
+ });
21
+ it('should handle "0"', () => {
22
+ expect(mathSeparator("0")).toEqual([0, 0]);
23
+ });
24
+ // 不正な値のケース
25
+ it("should return [0, 0] for non-number input", () => {
26
+ expect(mathSeparator("abc")).toEqual([0, 0]);
27
+ });
28
+ // 小数のケース
29
+ it("should handle decimal numbers", () => {
30
+ expect(mathSeparator(12.5)).toEqual([10, 2.5]);
31
+ });
32
+ it("should handle decimal string numbers", () => {
33
+ expect(mathSeparator("12.5")).toEqual([10, 2.5]);
34
+ });
9
35
  });
10
36
  //# sourceMappingURL=mathSeparator.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mathSeparator.test.js","sourceRoot":"","sources":["../../../src/tests/Math/mathSeparator.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,IAAI,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC3B,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IACnD,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IACnD,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IACnD,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;IACtD,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;IACtD,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AAC3D,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"mathSeparator.test.js","sourceRoot":"","sources":["../../../src/tests/Math/mathSeparator.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,mBAAmB;IACnB,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,cAAc;IACd,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,cAAc;IACd,EAAE,CAAC,iBAAiB,EAAE,GAAG,EAAE;QACzB,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAC3B,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,WAAW;IACX,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,SAAS;IACT,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,8 +1,19 @@
1
1
  import { nCr } from "../../Math/nCr";
2
- test("{nCr}", () => {
3
- expect(nCr(1, 1)).toBe(1);
4
- expect(nCr(2, 1)).toBe(2);
5
- expect(nCr(2, 2)).toBe(1);
6
- expect(nCr(3, 1)).toBe(3);
2
+ describe("nCr function", () => {
3
+ // 正常系
4
+ test("calculate nCr for n=5, r=2", () => {
5
+ expect(nCr(5, 2)).toBe(10);
6
+ });
7
+ test("calculate nCr for n=10, r=4", () => {
8
+ expect(nCr(10, 4)).toBe(210);
9
+ });
10
+ // 異常系
11
+ test("return NaN when n or r is 0", () => {
12
+ expect(nCr(0, 5)).toBeNaN();
13
+ expect(nCr(5, 0)).toBeNaN();
14
+ });
15
+ test("return NaN when n < r", () => {
16
+ expect(nCr(2, 5)).toBeNaN();
17
+ });
7
18
  });
8
19
  //# sourceMappingURL=nCr.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nCr.test.js","sourceRoot":"","sources":["../../../src/tests/Math/nCr.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACjC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;IACjB,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"nCr.test.js","sourceRoot":"","sources":["../../../src/tests/Math/nCr.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACjC,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,MAAM;IACN,IAAI,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACtC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACvC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,MAAM;IACN,IAAI,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACvC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QAC5B,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uBAAuB,EAAE,GAAG,EAAE;QACjC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,7 +1,20 @@
1
1
  import { nHr } from "../../Math/nHr";
2
- test("{nHr}", () => {
3
- expect(nHr(1, 1)).toBe(1);
4
- expect(nHr(2, 1)).toBe(2);
5
- expect(nHr(2, 2)).toBe(3);
2
+ describe("nHr function", () => {
3
+ // 正常系
4
+ test("calculate nHr for n=5, r=2", () => {
5
+ expect(nHr(5, 2)).toBe(15);
6
+ });
7
+ test("calculate nHr for n=3, r=3", () => {
8
+ expect(nHr(3, 3)).toBe(10);
9
+ });
10
+ // 異常系
11
+ test("return NaN when n or r is 0", () => {
12
+ expect(nHr(0, 5)).toBeNaN();
13
+ expect(nHr(5, 0)).toBeNaN();
14
+ });
15
+ test("return NaN when n or r is negative", () => {
16
+ expect(nHr(-1, 5)).toBeNaN();
17
+ expect(nHr(5, -1)).toBeNaN();
18
+ });
6
19
  });
7
20
  //# sourceMappingURL=nHr.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nHr.test.js","sourceRoot":"","sources":["../../../src/tests/Math/nHr.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACjC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;IACjB,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"nHr.test.js","sourceRoot":"","sources":["../../../src/tests/Math/nHr.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACjC,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,MAAM;IACN,IAAI,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACtC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACtC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,MAAM;IACN,IAAI,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACvC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QAC5B,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC9C,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QAC7B,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAC/B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,12 +1,19 @@
1
1
  import { nPr } from "../../Math/nPr";
2
- test("{nPr}", () => {
3
- expect(nPr(1, 1)).toBe(1);
4
- expect(nPr(2, 1)).toBe(2);
5
- expect(nPr(2, 2)).toBe(2);
6
- expect(nPr(3, 1)).toBe(3);
7
- expect(nPr(3, 2)).toBe(6);
8
- expect(nPr(3, 3)).toBe(6);
9
- expect(nPr(4, 1)).toBe(4);
10
- expect(nPr(4, 2)).toBe(12);
2
+ describe("nPr function", () => {
3
+ // 正常系
4
+ test("calculate nPr for n=5, r=2", () => {
5
+ expect(nPr(5, 2)).toBe(20);
6
+ });
7
+ test("calculate nPr for n=10, r=4", () => {
8
+ expect(nPr(10, 4)).toBe(5040);
9
+ });
10
+ // 異常系
11
+ test("return NaN when n or r is 0", () => {
12
+ expect(nPr(0, 5)).toBeNaN();
13
+ expect(nPr(5, 0)).toBeNaN();
14
+ });
15
+ test("return NaN when n < r", () => {
16
+ expect(nPr(2, 5)).toBeNaN();
17
+ });
11
18
  });
12
19
  //# sourceMappingURL=nPr.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nPr.test.js","sourceRoot":"","sources":["../../../src/tests/Math/nPr.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACjC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;IACjB,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"nPr.test.js","sourceRoot":"","sources":["../../../src/tests/Math/nPr.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACjC,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,MAAM;IACN,IAAI,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACtC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACvC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,MAAM;IACN,IAAI,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACvC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QAC5B,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uBAAuB,EAAE,GAAG,EAAE;QACjC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,34 @@
1
+ import { deleteSpace } from "../../Tool/deleteSpace";
2
+ describe("deleteSpace", () => {
3
+ it("should remove all spaces from a string", () => {
4
+ const input = "hello world";
5
+ const expectedOutput = "helloworld";
6
+ const actualOutput = deleteSpace(input);
7
+ expect(actualOutput).toEqual(expectedOutput);
8
+ });
9
+ it("should remove all spaces from an empty string", () => {
10
+ const input = "";
11
+ const expectedOutput = "";
12
+ const actualOutput = deleteSpace(input);
13
+ expect(actualOutput).toEqual(expectedOutput);
14
+ });
15
+ it("should remove all spaces from a string with leading and trailing spaces", () => {
16
+ const input = " hello world ";
17
+ const expectedOutput = "helloworld";
18
+ const actualOutput = deleteSpace(input);
19
+ expect(actualOutput).toEqual(expectedOutput);
20
+ });
21
+ it("should remove all spaces from a string with multiple spaces between words", () => {
22
+ const input = "hello world";
23
+ const expectedOutput = "helloworld";
24
+ const actualOutput = deleteSpace(input);
25
+ expect(actualOutput).toEqual(expectedOutput);
26
+ });
27
+ it("should remove all spaces from a string with tabs and newlines", () => {
28
+ const input = "hello\t\nworld";
29
+ const expectedOutput = "helloworld";
30
+ const actualOutput = deleteSpace(input);
31
+ expect(actualOutput).toEqual(expectedOutput);
32
+ });
33
+ });
34
+ //# sourceMappingURL=deleteSpace.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deleteSpace.test.js","sourceRoot":"","sources":["../../../src/tests/Tool/deleteSpace.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,KAAK,GAAG,aAAa,CAAC;QAC5B,MAAM,cAAc,GAAG,YAAY,CAAC;QACpC,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,MAAM,cAAc,GAAG,EAAE,CAAC;QAC1B,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yEAAyE,EAAE,GAAG,EAAE;QACjF,MAAM,KAAK,GAAG,iBAAiB,CAAC;QAChC,MAAM,cAAc,GAAG,YAAY,CAAC;QACpC,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2EAA2E,EAAE,GAAG,EAAE;QACnF,MAAM,KAAK,GAAG,eAAe,CAAC;QAC9B,MAAM,cAAc,GAAG,YAAY,CAAC;QACpC,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACvE,MAAM,KAAK,GAAG,gBAAgB,CAAC;QAC/B,MAAM,cAAc,GAAG,YAAY,CAAC;QACpC,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}