|
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
|
|
|
|