Skip to content

Commit 02fc784

Browse files
authored
Modified tests to use expect_slice_equal() (#161)
This exercise escaped during the Peer Review and is using `testing.expect(t, slice.equal(...))` instead of the agreed upon pattern `expect_slice_equals(t, ...)` making error messages less than informative.
1 parent aa181c4 commit 02fc784

File tree

1 file changed

+23
-13
lines changed

1 file changed

+23
-13
lines changed

exercises/practice/all-your-base/all_your_base_test.odin

Lines changed: 23 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,18 @@
11
package all_your_base
22

3-
import "core:slice"
3+
import "core:fmt"
44
import "core:testing"
55

6+
expect_slices_match :: proc(t: ^testing.T, actual, expected: []$E, loc := #caller_location) {
7+
result := fmt.aprintf("%v", actual)
8+
exp_str := fmt.aprintf("%v", expected)
9+
defer {
10+
delete(result)
11+
delete(exp_str)
12+
}
13+
testing.expect_value(t, result, exp_str, loc = loc)
14+
}
15+
616
@(test)
717
/// description = single bit one to decimal
818
test_single_bit_one_to_decimal :: proc(t: ^testing.T) {
@@ -13,7 +23,7 @@ test_single_bit_one_to_decimal :: proc(t: ^testing.T) {
1323
defer delete(result)
1424

1525
expected := [?]int{1}
16-
testing.expect(t, slice.equal(result, expected[:]))
26+
expect_slices_match(t, result, expected[:])
1727
testing.expect_value(t, err, Error.None)
1828
}
1929

@@ -27,7 +37,7 @@ test_binary_to_single_decimal :: proc(t: ^testing.T) {
2737
defer delete(result)
2838

2939
expected := [?]int{5}
30-
testing.expect(t, slice.equal(result, expected[:]))
40+
expect_slices_match(t, result, expected[:])
3141
testing.expect_value(t, err, Error.None)
3242
}
3343

@@ -41,7 +51,7 @@ test_single_decimal_to_binary :: proc(t: ^testing.T) {
4151
defer delete(result)
4252

4353
expected := [?]int{1, 0, 1}
44-
testing.expect(t, slice.equal(result, expected[:]))
54+
expect_slices_match(t, result, expected[:])
4555
testing.expect_value(t, err, Error.None)
4656
}
4757

@@ -55,7 +65,7 @@ test_binary_to_multiple_decimal :: proc(t: ^testing.T) {
5565
defer delete(result)
5666

5767
expected := [?]int{4, 2}
58-
testing.expect(t, slice.equal(result, expected[:]))
68+
expect_slices_match(t, result, expected[:])
5969
testing.expect_value(t, err, Error.None)
6070
}
6171

@@ -69,7 +79,7 @@ test_decimal_to_binary :: proc(t: ^testing.T) {
6979
defer delete(result)
7080

7181
expected := [?]int{1, 0, 1, 0, 1, 0}
72-
testing.expect(t, slice.equal(result, expected[:]))
82+
expect_slices_match(t, result, expected[:])
7383
testing.expect_value(t, err, Error.None)
7484
}
7585

@@ -83,7 +93,7 @@ test_trinary_to_hexadecimal :: proc(t: ^testing.T) {
8393
defer delete(result)
8494

8595
expected := [?]int{2, 10}
86-
testing.expect(t, slice.equal(result, expected[:]))
96+
expect_slices_match(t, result, expected[:])
8797
testing.expect_value(t, err, Error.None)
8898
}
8999

@@ -97,7 +107,7 @@ test_hexadecimal_to_trinary :: proc(t: ^testing.T) {
97107
defer delete(result)
98108

99109
expected := [?]int{1, 1, 2, 0}
100-
testing.expect(t, slice.equal(result, expected[:]))
110+
expect_slices_match(t, result, expected[:])
101111
testing.expect_value(t, err, Error.None)
102112
}
103113

@@ -111,7 +121,7 @@ test_15_bit_integer :: proc(t: ^testing.T) {
111121
defer delete(result)
112122

113123
expected := [?]int{6, 10, 45}
114-
testing.expect(t, slice.equal(result, expected[:]))
124+
expect_slices_match(t, result, expected[:])
115125
testing.expect_value(t, err, Error.None)
116126
}
117127

@@ -125,7 +135,7 @@ test_empty_list :: proc(t: ^testing.T) {
125135
defer delete(result)
126136

127137
expected := [?]int{0}
128-
testing.expect(t, slice.equal(result, expected[:]))
138+
expect_slices_match(t, result, expected[:])
129139
testing.expect_value(t, err, Error.None)
130140
}
131141

@@ -139,7 +149,7 @@ test_single_zero :: proc(t: ^testing.T) {
139149
defer delete(result)
140150

141151
expected := [?]int{0}
142-
testing.expect(t, slice.equal(result, expected[:]))
152+
expect_slices_match(t, result, expected[:])
143153
testing.expect_value(t, err, Error.None)
144154
}
145155

@@ -153,7 +163,7 @@ test_multiple_zeros :: proc(t: ^testing.T) {
153163
defer delete(result)
154164

155165
expected := [?]int{0}
156-
testing.expect(t, slice.equal(result, expected[:]))
166+
expect_slices_match(t, result, expected[:])
157167
testing.expect_value(t, err, Error.None)
158168
}
159169

@@ -167,7 +177,7 @@ test_leading_zeros :: proc(t: ^testing.T) {
167177
defer delete(result)
168178

169179
expected := [?]int{4, 2}
170-
testing.expect(t, slice.equal(result, expected[:]))
180+
expect_slices_match(t, result, expected[:])
171181
testing.expect_value(t, err, Error.None)
172182
}
173183

0 commit comments

Comments
 (0)