Skip to content

Commit 4bf5be7

Browse files
committed
fixed bug in auto derive Equals
1 parent 50ad275 commit 4bf5be7

1 file changed

Lines changed: 40 additions & 0 deletions

File tree

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
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

0 commit comments

Comments
 (0)