File tree Expand file tree Collapse file tree
src/test/resources/test/test Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ module test.autoDerive
2+
3+ import novah.test
4+
5+ #[derive: {equalsPoint: "Equals"}]
6+ type Point = Point Int Int
7+
8+ #[derive: {equalsEnum: "Equals"}]
9+ type Enum = A | B | C
10+
11+ #[derive: {equalsComplex: "Equals"}]
12+ type Complex a = Ctor1 Int a | Ctor2 String | Ctor3
13+
14+ autoDeriveTest : Unit
15+ autoDeriveTest =
16+ test "Auto derive Equals" \_ ->
17+ let p1 = Point 0 0
18+ let p2 = Point 0 0
19+ let p3 = Point 0 1
20+ p1 `shouldBe` p2
21+ p1 `shouldNotBe` p3
22+ let e1 = A
23+ let e2 = A
24+ let e3 = B
25+ let e4 = C
26+ e1 `shouldBe` e2
27+ e1 `shouldNotBe` e3
28+ e1 `shouldNotBe` e4
29+ e3 `shouldNotBe` e4
30+ let c1 = Ctor1 1 "a"
31+ let c2 = Ctor1 1 "a"
32+ let c3 = Ctor1 1 "b"
33+ let c4 = Ctor2 "a" : Complex Int
34+ let c5 = Ctor2 "a"
35+ let c6 = Ctor3
36+ c1 `shouldBe` c2
37+ c1 `shouldNotBe` c3
38+ c4 `shouldBe` c5
39+ c1 `shouldNotBe` c6
40+ c4 `shouldNotBe` c6
You can’t perform that action at this time.
0 commit comments