Skip to content

Commit c2ae735

Browse files
committed
added tests
1 parent b8c55fe commit c2ae735

File tree

2 files changed

+39
-0
lines changed

2 files changed

+39
-0
lines changed

Project.toml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,9 @@ version = "0.1.2"
55

66
[compat]
77
julia = "1.8"
8+
9+
[extras]
10+
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
11+
12+
[targets]
13+
test = ["Test"]

test/runtests.jl

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
using StructEqualHash, Test
2+
3+
struct T{P}
4+
x::Int
5+
y::P
6+
end
7+
8+
@struct_equal_hash T
9+
@struct_equal_hash T{Char} (:x,)
10+
@struct_equal_hash T{P} where P <: Number (:y,)
11+
12+
# methods for T
13+
@inferred T(1, "a") == T(1, "b")
14+
@test T(1, "a") != T(1, "b")
15+
@inferred hash(T(1, "a"))
16+
@test hash(T(1, "a")) != hash(T(1, "b"))
17+
@test T(1, [1, 2]) == T(1, [1.0, 2.0])
18+
@test hash(T(1, [1, 2])) == hash(T(1, [1.0, 2.0]))
19+
20+
# methods for T{Char}
21+
@inferred T(1, 'a') == T(1, 'b')
22+
@test T(1, 'a') == T(1, 'b')
23+
@inferred hash(T(1, 'a'))
24+
@test hash(T(1, 'a')) == hash(T(1, 'b'))
25+
26+
# methods for T{P} where P <: Number
27+
@inferred T(1, 1) == T(2, 1)
28+
@test T(1, 1) == T(2, 1)
29+
@inferred hash(T(1, 1))
30+
@test hash(T(1, 1)) == hash(T(2, 1))
31+
@inferred isequal(T(1, 0.0), T(1, -0.0))
32+
@test !isequal(T(1, 0.0), T(1, -0.0))
33+
@test hash(T(1, 0.0)) != hash(T(1, -0.0))

0 commit comments

Comments
 (0)