Skip to content

Commit bdff861

Browse files
authored
Merge pull request #27 from dreambo8563/release
test(more tc for simple):
2 parents e5ac31b + 1be3e6a commit bdff861

File tree

3 files changed

+84
-50
lines changed

3 files changed

+84
-50
lines changed

src/simple.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ export class LazyCalc {
2121
: precision >= 0
2222
? Math.min(precision, 292)
2323
: Math.max(precision, -292);
24+
2425
if (precision) {
2526
// Shift with exponential notation to avoid floating-point issues.
2627
// See [MDN](https://mdn.io/round#Examples) for more details.

tests/unit/main.spec.ts

Lines changed: 5 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -5,55 +5,10 @@ describe("base class", () => {
55
const base = LazyBase.lazy(1);
66
expect(base.value()).toBe(1);
77
});
8-
it("add", () => {
9-
const base = LazyBase.lazy(1).add(4);
10-
expect(base.value()).toBe(5);
11-
});
12-
13-
it("subtract", () => {
14-
const base = LazyBase.lazy(1).subtract(4);
15-
expect(base.value()).toBe(-3);
16-
});
17-
18-
it("multiply", () => {
19-
const base = LazyBase.lazy(1).multiply(4);
20-
expect(base.value()).toBe(4);
21-
});
22-
it("multiply - float", () => {
23-
const base = LazyBase.lazy(1.5).multiply(4);
24-
expect(base.value()).toBe(6);
25-
});
26-
27-
it("divide - round", () => {
28-
const base = LazyBase.lazy(1.5)
29-
.divide(2)
30-
.round(2);
31-
expect(base.value()).toBe(0.75);
32-
});
33-
34-
it("divide - floor", () => {
35-
const base = LazyBase.lazy(1.5)
36-
.divide(2)
37-
.floor(1);
38-
expect(base.value()).toBe(0.7);
39-
});
40-
it("divide - ceil", () => {
41-
const base = LazyBase.lazy(1.5)
42-
.divide(2)
43-
.ceil(1);
44-
expect(base.value()).toBe(0.8);
45-
});
46-
it("default", () => {
47-
const base = LazyBase.lazy(1.5)
48-
.divide(0)
49-
.default(99);
50-
expect(base.value()).toBe(99);
51-
});
52-
53-
it("do", () => {
54-
const base = LazyBase.lazy({ num: 1.5 })
55-
.do((x: { num: number }) => x.num)
56-
.multiply(2);
57-
expect(base.value()).toBe(3);
8+
it("stream with init value", () => {
9+
const base1 = LazyBase.lazy(1);
10+
const base2 = LazyBase.lazy(4);
11+
const stream1 = LazyBase.stream(base1).add(base2);
12+
expect(stream1.value()).toBe(5);
5813
});
5914
});

tests/unit/simple.spec.ts

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
import { LazyBase } from "../../src/main";
2+
3+
describe("simple class", () => {
4+
it("add", () => {
5+
const base = LazyBase.lazy(1).add(4);
6+
expect(base.value()).toBe(5);
7+
});
8+
9+
it("subtract", () => {
10+
const base = LazyBase.lazy(1).subtract(4);
11+
expect(base.value()).toBe(-3);
12+
});
13+
14+
it("multiply", () => {
15+
const base = LazyBase.lazy(1).multiply(4);
16+
expect(base.value()).toBe(4);
17+
});
18+
it("multiply - float", () => {
19+
const base = LazyBase.lazy(1.5).multiply(4);
20+
expect(base.value()).toBe(6);
21+
});
22+
23+
it("divide - round", () => {
24+
const base = LazyBase.lazy(1.5)
25+
.divide(2)
26+
.round(2);
27+
expect(base.value()).toBe(0.75);
28+
});
29+
30+
it("divide - floor", () => {
31+
const base = LazyBase.lazy(1.5)
32+
.divide(2)
33+
.floor(1);
34+
expect(base.value()).toBe(0.7);
35+
});
36+
it("divide - ceil", () => {
37+
const base = LazyBase.lazy(1.5)
38+
.divide(2)
39+
.ceil(1);
40+
expect(base.value()).toBe(0.8);
41+
});
42+
43+
it("precision - invalid", () => {
44+
const base = LazyBase.lazy(1.5)
45+
.divide(0)
46+
.ceil(1)
47+
.default("m");
48+
expect(base.value()).toBe("m");
49+
});
50+
51+
it("precision - minus", () => {
52+
const base = LazyBase.lazy(1.5)
53+
.divide(1)
54+
.ceil(-2)
55+
.default("m");
56+
expect(base.value()).toBe(100);
57+
});
58+
it("precision - null", () => {
59+
const base = LazyBase.lazy(1.5)
60+
.divide(1)
61+
.ceil()
62+
.default("m");
63+
expect(base.value()).toBe(2);
64+
});
65+
it("default", () => {
66+
const base = LazyBase.lazy(1.5)
67+
.divide(0)
68+
.default(99);
69+
expect(base.value()).toBe(99);
70+
});
71+
72+
it("do", () => {
73+
const base = LazyBase.lazy({ num: 1.5 })
74+
.do((x: { num: number }) => x.num)
75+
.multiply(2);
76+
expect(base.value()).toBe(3);
77+
});
78+
});

0 commit comments

Comments
 (0)