-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcounter_test.go
128 lines (110 loc) · 2.31 KB
/
counter_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
package main
import (
"reflect"
"testing"
)
func Test_toBinary122(t *testing.T) {
expected := []bool{false, true, false, true, true, true, true}
result := toBinary(122)
if !reflect.DeepEqual(expected, result) {
t.Errorf("\nexpected: %v\nreceived: %v", expected, result)
}
}
func Test_toBinary0(t *testing.T) {
expected := []bool{}
result := toBinary(0)
if len(expected) != len(result) {
t.Errorf("\nexpected: %v\nreceived: %v", expected, result)
}
}
func Test_toBinary1(t *testing.T) {
expected := []bool{true}
result := toBinary(1)
if !reflect.DeepEqual(expected, result) {
t.Errorf("\nexpected: %v\nreceived: %v", expected, result)
}
}
func Test_flipBits13(t *testing.T) {
bitArr := []bool{true, true, false, true}
var expected = map[int]bool{
64: false,
32: false,
16: false,
8: true,
4: false,
2: true,
1: true,
}
result := flipBits(bitArr)
if !reflect.DeepEqual(expected, result) {
t.Errorf("\nexpected: %v\nreceived: %v", expected, result)
}
}
func Test_flipBits255(t *testing.T) {
bitArr := []bool{true, true, true, true, true, true, true}
var expected = map[int]bool{
64: true,
32: true,
16: true,
8: true,
4: true,
2: true,
1: true,
}
result := flipBits(bitArr)
if !reflect.DeepEqual(expected, result) {
t.Errorf("\nexpected: %v\nreceived: %v", expected, result)
}
}
func Test_flipBits0(t *testing.T) {
bitArr := []bool{}
var expected = map[int]bool{
64: false,
32: false,
16: false,
8: false,
4: false,
2: false,
1: false,
}
result := flipBits(bitArr)
if !reflect.DeepEqual(expected, result) {
t.Errorf("\nexpected: %v\nreceived: %v", expected, result)
}
}
func Test_copyBitsShouldGetBaseBits(t *testing.T) {
var expected = map[int]bool{
64: false,
32: false,
16: false,
8: false,
4: false,
2: false,
1: false,
}
result := copyBits()
if !reflect.DeepEqual(expected, result) {
t.Errorf("\nexpected: %v\nreceived: %v", expected, result)
}
}
func Test_counterStartsAt0(t *testing.T) {
if 0 != counter {
t.Error("not 0")
}
}
func Test_incrementShouldIncrement(t *testing.T) {
counter = 0
increment()
if 1 != counter {
t.Error("not 1")
}
}
func Test_increment256ShouldRollover(t *testing.T) {
counter = 0
for i := 0; i < 256; i++ {
increment()
}
if 0 != counter {
t.Error("did not roll over")
}
}