Skip to content

Commit f9fc024

Browse files
committed
Better test coverage
1 parent e388b36 commit f9fc024

File tree

2 files changed

+92
-27
lines changed

2 files changed

+92
-27
lines changed

immutable_test.go

Lines changed: 30 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -30,81 +30,89 @@ func TestSort(t *testing.T) {
3030

3131
res := g0
3232
exp := "0 []"
33-
if mess, diff := diff(String(res), exp); diff {
33+
if mess, diff := diff(res.String(), exp); diff {
3434
t.Errorf("Sort: %s", mess)
3535
}
3636
Consistent("Sort g0", t, res)
3737

3838
res = g1
3939
exp = "1 [(0 0)]"
40-
if mess, diff := diff(String(res), exp); diff {
40+
if mess, diff := diff(res.String(), exp); diff {
4141
t.Errorf("Sort: %s", mess)
4242
}
4343
Consistent("Sort g1", t, res)
4444

4545
res = g1c
4646
exp = "1 [(0 0):1]"
47-
if mess, diff := diff(String(res), exp); diff {
47+
if mess, diff := diff(res.String(), exp); diff {
4848
t.Errorf("Sort: %s", mess)
4949
}
5050
Consistent("Sort g1c", t, res)
5151

5252
res = g5
5353
exp = "5 [(0 1) (2 3)]"
54-
if mess, diff := diff(String(res), exp); diff {
54+
if mess, diff := diff(res.String(), exp); diff {
5555
t.Errorf("Sort: %s", mess)
5656
}
5757
Consistent("Sort g5", t, res)
5858

5959
res = g5c
6060
exp = "5 [(0 1) (2 3):1]"
61-
if mess, diff := diff(String(res), exp); diff {
61+
if mess, diff := diff(res.String(), exp); diff {
6262
t.Errorf("Sort: %s", mess)
6363
}
6464
Consistent("Sort g5c", t, res)
6565

66+
res = Sort(g5c)
67+
exp = "5 [(0 1) (2 3):1]"
68+
if mess, diff := diff(res.String(), exp); diff {
69+
t.Errorf("Sort: %s", mess)
70+
}
71+
Consistent("Sort Sort(g5c)", t, res)
72+
6673
n := 10
6774
g := New(n)
6875
for i := 0; i < 2*n; i++ {
6976
g.AddBothCost(rand.Intn(n), rand.Intn(n), rand.Int63())
7077
}
7178
Consistent("Sort rand", t, Sort(g))
79+
Consistent("Sort Sort(rand)", t, Sort(Sort(g)))
7280
}
7381

7482
func TestTranspose(t *testing.T) {
7583
g0, g1, g1c, g5, g5c := SetUpImm()
7684

7785
res := Transpose(g0)
7886
exp := "0 []"
79-
if mess, diff := diff(String(res), exp); diff {
87+
if mess, diff := diff(res.String(), exp); diff {
8088
t.Errorf("Transpose: %s", mess)
8189
}
8290
Consistent("Transpose g0", t, res)
8391

8492
res = Transpose(g1)
8593
exp = "1 [(0 0)]"
86-
if mess, diff := diff(String(res), exp); diff {
94+
if mess, diff := diff(res.String(), exp); diff {
8795
t.Errorf("Transpose g1: %s", mess)
8896
}
8997
Consistent("Transpose", t, res)
9098

9199
res = Transpose(g1c)
92100
exp = "1 [(0 0):1]"
93-
if mess, diff := diff(String(res), exp); diff {
101+
if mess, diff := diff(res.String(), exp); diff {
94102
t.Errorf("Transpose g1c: %s", mess)
95103
}
96104
Consistent("Transpose", t, res)
97105

98106
res = Transpose(g5)
99107
exp = "5 [(1 0) (3 2)]"
100-
if mess, diff := diff(String(res), exp); diff {
108+
if mess, diff := diff(res.String(), exp); diff {
101109
t.Errorf("Transpose: %s", mess)
102110
}
103111
Consistent("Transpose g5", t, res)
104112

105113
res = Transpose(g5c)
106114
exp = "5 [(1 0) (3 2):1]"
107-
if mess, diff := diff(String(res), exp); diff {
115+
if mess, diff := diff(res.String(), exp); diff {
108116
t.Errorf("Transpose: %s", mess)
109117
}
110118
Consistent("Transpose g5c", t, res)
@@ -141,6 +149,12 @@ func TestOrderImm(t *testing.T) {
141149
func TestEdgeImm(t *testing.T) {
142150
_, g1, g1c, g5, _ := SetUpImm()
143151

152+
if mess, diff := diff(g1.Edge(-1, 0), false); diff {
153+
t.Errorf("g1.Edge(-1, 0) %s", mess)
154+
}
155+
if mess, diff := diff(g1.Edge(1, 0), false); diff {
156+
t.Errorf("g1.Edge(1, 0) %s", mess)
157+
}
144158
if mess, diff := diff(g1.Edge(0, 0), true); diff {
145159
t.Errorf("g1.Edge(0, 0) %s", mess)
146160
}
@@ -164,6 +178,12 @@ func TestEdgeImm(t *testing.T) {
164178
func TestDegreeImm(t *testing.T) {
165179
_, g1, g1c, g5, g5c := SetUpImm()
166180

181+
if mess, diff := diff(g1.Degree(-1), 0); diff {
182+
t.Errorf("g1.Degree(0) %s", mess)
183+
}
184+
if mess, diff := diff(g1.Degree(1), 0); diff {
185+
t.Errorf("g1.Degree(0) %s", mess)
186+
}
167187
if mess, diff := diff(g1.Degree(0), 1); diff {
168188
t.Errorf("g1.Degree(0) %s", mess)
169189
}

mutable_test.go

Lines changed: 62 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -82,23 +82,12 @@ func TestCopy(t *testing.T) {
8282
}
8383
Consistent("Copy immutable g5", t, res)
8484

85-
res = Copy(Iterator(g0))
86-
if mess, diff := diff(g0, res); diff {
87-
t.Errorf("Copy iterator g0 %s", mess)
85+
res = Copy(Multi{})
86+
exp := "3 [(0 0):5 (0 1):7 (1 0):5]"
87+
if mess, diff := diff(res.String(), exp); diff {
88+
t.Errorf("Copy iterator Multi %s", mess)
8889
}
89-
Consistent("Copy iterator g0", t, res)
90-
91-
res = Copy(Iterator(g1))
92-
if mess, diff := diff(g1, res); diff {
93-
t.Errorf("Copy iterator g1 %s", mess)
94-
}
95-
Consistent("Copy iterator g1", t, res)
96-
97-
res = Copy(Iterator(g5))
98-
if mess, diff := diff(g5, res); diff {
99-
t.Errorf("Copy iterator g5 %s", mess)
100-
}
101-
Consistent("Copy iterator g5", t, res)
90+
Consistent("Copy iterator Multi", t, res)
10291

10392
n := 10
10493
g := New(n)
@@ -125,10 +114,66 @@ func TestOrder(t *testing.T) {
125114
}
126115
}
127116

117+
func TestEdge(t *testing.T) {
118+
_, g1, g5 := setup()
119+
120+
if mess, diff := diff(g1.Edge(-1, 0), false); diff {
121+
t.Errorf("g1.Edge(-1, 0) %s", mess)
122+
}
123+
if mess, diff := diff(g1.Edge(1, 0), false); diff {
124+
t.Errorf("g1.Edge(1, 0) %s", mess)
125+
}
126+
if mess, diff := diff(g1.Edge(0, 0), true); diff {
127+
t.Errorf("g1.Edge(0, 0) %s", mess)
128+
}
129+
if mess, diff := diff(g5.Edge(0, 1), true); diff {
130+
t.Errorf("g5.Edge(0, 1) %s", mess)
131+
}
132+
if mess, diff := diff(g5.Edge(1, 0), false); diff {
133+
t.Errorf("g5.Edge(1, 0) %s", mess)
134+
}
135+
if mess, diff := diff(g5.Edge(2, 3), true); diff {
136+
t.Errorf("g5.Edge(2, 3) %s", mess)
137+
}
138+
if mess, diff := diff(g5.Edge(3, 2), false); diff {
139+
t.Errorf("g5.Edge(3, 2) %s", mess)
140+
}
141+
}
142+
143+
func TestDegree(t *testing.T) {
144+
_, g1, g5 := setup()
145+
146+
if mess, diff := diff(g1.Degree(-1), 0); diff {
147+
t.Errorf("g1.Degree(0) %s", mess)
148+
}
149+
if mess, diff := diff(g1.Degree(1), 0); diff {
150+
t.Errorf("g1.Degree(0) %s", mess)
151+
}
152+
if mess, diff := diff(g1.Degree(0), 1); diff {
153+
t.Errorf("g1.Degree(0) %s", mess)
154+
}
155+
if mess, diff := diff(g5.Degree(0), 1); diff {
156+
t.Errorf("g5.Degree(0) %s", mess)
157+
}
158+
if mess, diff := diff(g5.Degree(1), 0); diff {
159+
t.Errorf("g5.Degree(1) %s", mess)
160+
}
161+
}
162+
128163
func TestCost(t *testing.T) {
129164
_, g1, g5 := setup()
130165

131-
cost := g1.Cost(0, 0)
166+
cost := g1.Cost(-1, 0)
167+
if mess, diff := diff(cost, int64(0)); diff {
168+
t.Errorf("g1.Cost(0, 0) %s", mess)
169+
}
170+
171+
cost = g1.Cost(1, 0)
172+
if mess, diff := diff(cost, int64(0)); diff {
173+
t.Errorf("g1.Cost(0, 0) %s", mess)
174+
}
175+
176+
cost = g1.Cost(0, 0)
132177
if mess, diff := diff(cost, int64(0)); diff {
133178
t.Errorf("g1.Cost(0, 0) %s", mess)
134179
}

0 commit comments

Comments
 (0)