Skip to content

Commit 8b52add

Browse files
test: add immutability.
1 parent daa3d8d commit 8b52add

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed

src/test/immutability.spec.ts

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
import { BooleanState } from "../lib";
2+
3+
export class ActiveState extends BooleanState {
4+
public override get state() {
5+
return super.state;
6+
}
7+
8+
public override false() {
9+
super.false();
10+
return this;
11+
}
12+
13+
14+
public activate() {
15+
super.true();
16+
return this;
17+
}
18+
19+
public deactivate() {
20+
super.false();
21+
return this;
22+
}
23+
}
24+
25+
const activeState = new ActiveState();
26+
27+
activeState.seal();
28+
29+
console.log(`--Sealed`);
30+
console.log(activeState);
31+
console.log(activeState.false());
32+
console.log(activeState.activate());
33+
34+
activeState.freeze();
35+
36+
console.log(`--Frozen`);
37+
console.log(activeState.activate());
38+
console.log(activeState.false());
39+
40+
activeState.lock();
41+
42+
console.log(`--Locked`);
43+
console.log(activeState.activate());
44+
console.log(activeState.false());
45+

0 commit comments

Comments
 (0)