1
0
Fork 0

Added tests to the state package, and reworked the code around that

This commit is contained in:
Julien Dessaux 2020-02-22 11:57:50 +01:00
parent e7456142a9
commit bcfaffac24
11 changed files with 407 additions and 120 deletions

11
utils/clen.go Normal file
View file

@ -0,0 +1,11 @@
package utils
// Clen returns the length of a null terminated string like in C
func Clen(n []byte) int {
for i := 0; i < len(n); i++ {
if n[i] == 0 {
return i
}
}
return len(n)
}

26
utils/clen_test.go Normal file
View file

@ -0,0 +1,26 @@
package utils
import "testing"
func TestClen(t *testing.T) {
normalString := append([]byte("abcd"), 0)
type args struct {
n []byte
}
tests := []struct {
name string
args args
want int
}{
{"empty string", args{}, 0},
{"normal string", args{normalString}, 4},
{"non null terminated string", args{[]byte("abcd")}, 4},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
if got := Clen(tt.args.n); got != tt.want {
t.Errorf("Clen() = %v, want %v", got, tt.want)
}
})
}
}