|
1 | 1 | import { deepStrictEqual } from "effect-test/util"
|
2 |
| -import * as BigInt from "effect/BigInt" |
| 2 | +import * as BigInt_ from "effect/BigInt" |
3 | 3 | import { pipe } from "effect/Function"
|
4 | 4 | import * as Option from "effect/Option"
|
5 | 5 | import { assert, describe, expect, it } from "vitest"
|
6 | 6 |
|
7 | 7 | describe("BigInt", () => {
|
8 | 8 | it("sign", () => {
|
9 |
| - assert.deepStrictEqual(BigInt.sign(-5n), -1) |
10 |
| - assert.deepStrictEqual(BigInt.sign(0n), 0) |
11 |
| - assert.deepStrictEqual(BigInt.sign(5n), 1) |
| 9 | + assert.deepStrictEqual(BigInt_.sign(-5n), -1) |
| 10 | + assert.deepStrictEqual(BigInt_.sign(0n), 0) |
| 11 | + assert.deepStrictEqual(BigInt_.sign(5n), 1) |
12 | 12 | })
|
13 | 13 |
|
14 | 14 | it("isBigInt", () => {
|
15 |
| - expect(BigInt.isBigInt(1n)).toEqual(true) |
16 |
| - expect(BigInt.isBigInt(1)).toEqual(false) |
17 |
| - expect(BigInt.isBigInt("a")).toEqual(false) |
18 |
| - expect(BigInt.isBigInt(true)).toEqual(false) |
| 15 | + expect(BigInt_.isBigInt(1n)).toEqual(true) |
| 16 | + expect(BigInt_.isBigInt(1)).toEqual(false) |
| 17 | + expect(BigInt_.isBigInt("a")).toEqual(false) |
| 18 | + expect(BigInt_.isBigInt(true)).toEqual(false) |
19 | 19 | })
|
20 | 20 |
|
21 | 21 | it("sum", () => {
|
22 |
| - deepStrictEqual(pipe(1n, BigInt.sum(2n)), 3n) |
| 22 | + deepStrictEqual(pipe(1n, BigInt_.sum(2n)), 3n) |
23 | 23 | })
|
24 | 24 |
|
25 | 25 | it("multiply", () => {
|
26 |
| - deepStrictEqual(pipe(2n, BigInt.multiply(3n)), 6n) |
| 26 | + deepStrictEqual(pipe(2n, BigInt_.multiply(3n)), 6n) |
27 | 27 | })
|
28 | 28 |
|
29 | 29 | it("subtract", () => {
|
30 |
| - deepStrictEqual(pipe(3n, BigInt.subtract(1n)), 2n) |
| 30 | + deepStrictEqual(pipe(3n, BigInt_.subtract(1n)), 2n) |
31 | 31 | })
|
32 | 32 |
|
33 | 33 | it("divide", () => {
|
34 |
| - deepStrictEqual(pipe(6n, BigInt.divide(2n)), Option.some(3n)) |
35 |
| - deepStrictEqual(pipe(6n, BigInt.divide(0n)), Option.none()) |
| 34 | + deepStrictEqual(pipe(6n, BigInt_.divide(2n)), Option.some(3n)) |
| 35 | + deepStrictEqual(pipe(6n, BigInt_.divide(0n)), Option.none()) |
36 | 36 | })
|
37 | 37 |
|
38 | 38 | it("unsafeDivide", () => {
|
39 |
| - deepStrictEqual(pipe(6n, BigInt.unsafeDivide(2n)), 3n) |
| 39 | + deepStrictEqual(pipe(6n, BigInt_.unsafeDivide(2n)), 3n) |
40 | 40 | })
|
41 | 41 |
|
42 | 42 | it("increment", () => {
|
43 |
| - deepStrictEqual(BigInt.increment(2n), 3n) |
| 43 | + deepStrictEqual(BigInt_.increment(2n), 3n) |
44 | 44 | })
|
45 | 45 |
|
46 | 46 | it("decrement", () => {
|
47 |
| - deepStrictEqual(BigInt.decrement(2n), 1n) |
| 47 | + deepStrictEqual(BigInt_.decrement(2n), 1n) |
48 | 48 | })
|
49 | 49 |
|
50 | 50 | it("Equivalence", () => {
|
51 |
| - expect(BigInt.Equivalence(1n, 1n)).toBe(true) |
52 |
| - expect(BigInt.Equivalence(1n, 2n)).toBe(false) |
| 51 | + expect(BigInt_.Equivalence(1n, 1n)).toBe(true) |
| 52 | + expect(BigInt_.Equivalence(1n, 2n)).toBe(false) |
53 | 53 | })
|
54 | 54 |
|
55 | 55 | it("Order", () => {
|
56 |
| - deepStrictEqual(BigInt.Order(1n, 2n), -1) |
57 |
| - deepStrictEqual(BigInt.Order(2n, 1n), 1) |
58 |
| - deepStrictEqual(BigInt.Order(2n, 2n), 0) |
| 56 | + deepStrictEqual(BigInt_.Order(1n, 2n), -1) |
| 57 | + deepStrictEqual(BigInt_.Order(2n, 1n), 1) |
| 58 | + deepStrictEqual(BigInt_.Order(2n, 2n), 0) |
59 | 59 | })
|
60 | 60 |
|
61 | 61 | it("lessThan", () => {
|
62 |
| - assert.deepStrictEqual(BigInt.lessThan(2n, 3n), true) |
63 |
| - assert.deepStrictEqual(BigInt.lessThan(3n, 3n), false) |
64 |
| - assert.deepStrictEqual(BigInt.lessThan(4n, 3n), false) |
| 62 | + assert.deepStrictEqual(BigInt_.lessThan(2n, 3n), true) |
| 63 | + assert.deepStrictEqual(BigInt_.lessThan(3n, 3n), false) |
| 64 | + assert.deepStrictEqual(BigInt_.lessThan(4n, 3n), false) |
65 | 65 | })
|
66 | 66 |
|
67 | 67 | it("lessThanOrEqualTo", () => {
|
68 |
| - assert.deepStrictEqual(BigInt.lessThanOrEqualTo(2n, 3n), true) |
69 |
| - assert.deepStrictEqual(BigInt.lessThanOrEqualTo(3n, 3n), true) |
70 |
| - assert.deepStrictEqual(BigInt.lessThanOrEqualTo(4n, 3n), false) |
| 68 | + assert.deepStrictEqual(BigInt_.lessThanOrEqualTo(2n, 3n), true) |
| 69 | + assert.deepStrictEqual(BigInt_.lessThanOrEqualTo(3n, 3n), true) |
| 70 | + assert.deepStrictEqual(BigInt_.lessThanOrEqualTo(4n, 3n), false) |
71 | 71 | })
|
72 | 72 |
|
73 | 73 | it("greaterThan", () => {
|
74 |
| - assert.deepStrictEqual(BigInt.greaterThan(2n, 3n), false) |
75 |
| - assert.deepStrictEqual(BigInt.greaterThan(3n, 3n), false) |
76 |
| - assert.deepStrictEqual(BigInt.greaterThan(4n, 3n), true) |
| 74 | + assert.deepStrictEqual(BigInt_.greaterThan(2n, 3n), false) |
| 75 | + assert.deepStrictEqual(BigInt_.greaterThan(3n, 3n), false) |
| 76 | + assert.deepStrictEqual(BigInt_.greaterThan(4n, 3n), true) |
77 | 77 | })
|
78 | 78 |
|
79 | 79 | it("greaterThanOrEqualTo", () => {
|
80 |
| - assert.deepStrictEqual(BigInt.greaterThanOrEqualTo(2n, 3n), false) |
81 |
| - assert.deepStrictEqual(BigInt.greaterThanOrEqualTo(3n, 3n), true) |
82 |
| - assert.deepStrictEqual(BigInt.greaterThanOrEqualTo(4n, 3n), true) |
| 80 | + assert.deepStrictEqual(BigInt_.greaterThanOrEqualTo(2n, 3n), false) |
| 81 | + assert.deepStrictEqual(BigInt_.greaterThanOrEqualTo(3n, 3n), true) |
| 82 | + assert.deepStrictEqual(BigInt_.greaterThanOrEqualTo(4n, 3n), true) |
83 | 83 | })
|
84 | 84 |
|
85 | 85 | it("between", () => {
|
86 |
| - assert.deepStrictEqual(BigInt.between({ minimum: 0n, maximum: 5n })(3n), true) |
87 |
| - assert.deepStrictEqual(BigInt.between({ minimum: 0n, maximum: 5n })(-1n), false) |
88 |
| - assert.deepStrictEqual(BigInt.between({ minimum: 0n, maximum: 5n })(6n), false) |
| 86 | + assert.deepStrictEqual(BigInt_.between({ minimum: 0n, maximum: 5n })(3n), true) |
| 87 | + assert.deepStrictEqual(BigInt_.between({ minimum: 0n, maximum: 5n })(-1n), false) |
| 88 | + assert.deepStrictEqual(BigInt_.between({ minimum: 0n, maximum: 5n })(6n), false) |
89 | 89 |
|
90 |
| - assert.deepStrictEqual(BigInt.between(3n, { minimum: 0n, maximum: 5n }), true) |
| 90 | + assert.deepStrictEqual(BigInt_.between(3n, { minimum: 0n, maximum: 5n }), true) |
91 | 91 | })
|
92 | 92 |
|
93 | 93 | it("clamp", () => {
|
94 |
| - assert.deepStrictEqual(BigInt.clamp({ minimum: 0n, maximum: 5n })(3n), 3n) |
95 |
| - assert.deepStrictEqual(BigInt.clamp({ minimum: 0n, maximum: 5n })(-1n), 0n) |
96 |
| - assert.deepStrictEqual(BigInt.clamp({ minimum: 0n, maximum: 5n })(6n), 5n) |
| 94 | + assert.deepStrictEqual(BigInt_.clamp({ minimum: 0n, maximum: 5n })(3n), 3n) |
| 95 | + assert.deepStrictEqual(BigInt_.clamp({ minimum: 0n, maximum: 5n })(-1n), 0n) |
| 96 | + assert.deepStrictEqual(BigInt_.clamp({ minimum: 0n, maximum: 5n })(6n), 5n) |
97 | 97 |
|
98 |
| - assert.deepStrictEqual(BigInt.clamp(3n, { minimum: 0n, maximum: 5n }), 3n) |
| 98 | + assert.deepStrictEqual(BigInt_.clamp(3n, { minimum: 0n, maximum: 5n }), 3n) |
99 | 99 | })
|
100 | 100 |
|
101 | 101 | it("min", () => {
|
102 |
| - assert.deepStrictEqual(BigInt.min(2n, 3n), 2n) |
| 102 | + assert.deepStrictEqual(BigInt_.min(2n, 3n), 2n) |
103 | 103 | })
|
104 | 104 |
|
105 | 105 | it("max", () => {
|
106 |
| - assert.deepStrictEqual(BigInt.max(2n, 3n), 3n) |
| 106 | + assert.deepStrictEqual(BigInt_.max(2n, 3n), 3n) |
107 | 107 | })
|
108 | 108 |
|
109 | 109 | it("sumAll", () => {
|
110 |
| - assert.deepStrictEqual(BigInt.sumAll([2n, 3n, 4n]), 9n) |
| 110 | + assert.deepStrictEqual(BigInt_.sumAll([2n, 3n, 4n]), 9n) |
111 | 111 | })
|
112 | 112 |
|
113 | 113 | it("multiplyAll", () => {
|
114 |
| - assert.deepStrictEqual(BigInt.multiplyAll([2n, 0n, 4n]), 0n) |
115 |
| - assert.deepStrictEqual(BigInt.multiplyAll([2n, 3n, 4n]), 24n) |
| 114 | + assert.deepStrictEqual(BigInt_.multiplyAll([2n, 0n, 4n]), 0n) |
| 115 | + assert.deepStrictEqual(BigInt_.multiplyAll([2n, 3n, 4n]), 24n) |
116 | 116 | })
|
117 | 117 |
|
118 | 118 | it("abs", () => {
|
119 |
| - assert.deepStrictEqual(BigInt.abs(2n), 2n) |
120 |
| - assert.deepStrictEqual(BigInt.abs(-3n), 3n) |
| 119 | + assert.deepStrictEqual(BigInt_.abs(2n), 2n) |
| 120 | + assert.deepStrictEqual(BigInt_.abs(-3n), 3n) |
121 | 121 | })
|
122 | 122 |
|
123 | 123 | it("gcd", () => {
|
124 |
| - assert.deepStrictEqual(BigInt.gcd(2n, 4n), 2n) |
125 |
| - assert.deepStrictEqual(BigInt.gcd(3n, 4n), 1n) |
| 124 | + assert.deepStrictEqual(BigInt_.gcd(2n, 4n), 2n) |
| 125 | + assert.deepStrictEqual(BigInt_.gcd(3n, 4n), 1n) |
126 | 126 | })
|
127 | 127 |
|
128 | 128 | it("lcm", () => {
|
129 |
| - assert.deepStrictEqual(BigInt.lcm(2n, 4n), 4n) |
130 |
| - assert.deepStrictEqual(BigInt.lcm(3n, 4n), 12n) |
| 129 | + assert.deepStrictEqual(BigInt_.lcm(2n, 4n), 4n) |
| 130 | + assert.deepStrictEqual(BigInt_.lcm(3n, 4n), 12n) |
131 | 131 | })
|
132 | 132 |
|
133 | 133 | it("sqrt", () => {
|
134 |
| - assert.deepStrictEqual(BigInt.sqrt(1n), Option.some(1n)) |
135 |
| - assert.deepStrictEqual(BigInt.sqrt(16n), Option.some(4n)) |
136 |
| - assert.deepStrictEqual(BigInt.sqrt(81n), Option.some(9n)) |
137 |
| - assert.deepStrictEqual(BigInt.sqrt(-123n), Option.none()) |
| 134 | + assert.deepStrictEqual(BigInt_.sqrt(1n), Option.some(1n)) |
| 135 | + assert.deepStrictEqual(BigInt_.sqrt(16n), Option.some(4n)) |
| 136 | + assert.deepStrictEqual(BigInt_.sqrt(81n), Option.some(9n)) |
| 137 | + assert.deepStrictEqual(BigInt_.sqrt(-123n), Option.none()) |
138 | 138 | })
|
139 | 139 |
|
140 | 140 | it("sqrt", () => {
|
141 |
| - expect(() => BigInt.unsafeSqrt(-1n)).toThrow(new Error("Cannot take the square root of a negative number")) |
| 141 | + expect(() => BigInt_.unsafeSqrt(-1n)).toThrow(new Error("Cannot take the square root of a negative number")) |
| 142 | + }) |
| 143 | + |
| 144 | + it("toNumber", () => { |
| 145 | + assert.deepStrictEqual(BigInt_.toNumber(1n), Option.some(1)) |
| 146 | + assert.deepStrictEqual(BigInt_.toNumber(BigInt(Number.MAX_SAFE_INTEGER) + 1n), Option.none()) |
142 | 147 | })
|
143 | 148 | })
|
0 commit comments