vars.TestChunk   B
last analyzed

Complexity

Conditions 7

Size

Total Lines 26
Code Lines 18

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 7
eloc 18
nop 1
dl 0
loc 26
rs 8
c 0
b 0
f 0
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