1
|
|
|
package vars |
2
|
|
|
|
3
|
|
|
import ( |
4
|
|
|
"github.com/vvval/go-metadata-scanner/vars/metadata" |
5
|
|
|
"reflect" |
6
|
|
|
"testing" |
7
|
|
|
) |
8
|
|
|
|
9
|
|
|
func TestChunk(t *testing.T) { |
10
|
|
|
chunk := Chunk{"a", "b", "c", "d"} |
11
|
|
|
|
12
|
|
|
setEqual := [][][]Chunk{ |
13
|
|
|
{chunk.Split(1), {Chunk{"a"}, Chunk{"b"}, Chunk{"c"}, Chunk{"d"}}}, |
14
|
|
|
{chunk.Split(2), {Chunk{"a", "b"}, Chunk{"c", "d"}}}, |
15
|
|
|
{chunk.Split(3), {Chunk{"a", "b", "c"}, Chunk{"d"}}}, |
16
|
|
|
{chunk.Split(4), {Chunk{"a", "b", "c", "d"}}}, |
17
|
|
|
{chunk.Split(5), {Chunk{"a", "b", "c", "d"}}}, |
18
|
|
|
} |
19
|
|
|
|
20
|
|
|
for i, s := range setEqual { |
21
|
|
|
if !reflect.DeepEqual(s[0], s[1]) { |
22
|
|
|
t.Errorf("chunks should be equal (line `%d`):\ngot `%s`\nexpected `%s`", i, s[0], s[1]) |
23
|
|
|
} |
24
|
|
|
} |
25
|
|
|
|
26
|
|
|
setUnequal := [][][]Chunk{ |
27
|
|
|
{chunk.Split(1), {Chunk{"a"}, Chunk{"b"}, Chunk{"c", "d"}}}, |
28
|
|
|
{chunk.Split(2), {Chunk{"a", "b"}, Chunk{"c", "d"}, Chunk{}}}, |
29
|
|
|
{chunk.Split(3), {Chunk{"a", "b", "d"}, Chunk{"e"}}}, |
30
|
|
|
} |
31
|
|
|
|
32
|
|
|
for i, s := range setUnequal { |
33
|
|
|
if reflect.DeepEqual(s[0], s[1]) { |
34
|
|
|
t.Errorf("chunks should not be equal (line `%d`):\ngot `%s`\nexpected `%s`", i, s[0], s[1]) |
35
|
|
|
} |
36
|
|
|
} |
37
|
|
|
} |
38
|
|
|
|
39
|
|
|
func TestTag(t *testing.T) { |
40
|
|
|
tags := metadata.Tags{"a": "b"} |
41
|
|
|
v, ok := tags.Tag("a") |
42
|
|
|
if !ok { |
43
|
|
|
t.Errorf("tag `%s` not found\nshould be `%s`", "a", "b") |
44
|
|
|
} |
45
|
|
|
|
46
|
|
|
if v != "b" { |
47
|
|
|
t.Errorf("tag `%s` found but value is wrong:\ngot `%s`\nexpected `%s`", "a", v, "b") |
48
|
|
|
} |
49
|
|
|
} |
50
|
|
|
|