File: test_samples.go

package info (click to toggle)
golang-github-yashtewari-glob-intersection 0.2.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 132 kB
  • sloc: makefile: 2
file content (84 lines) | stat: -rw-r--r-- 2,153 bytes parent folder | download | duplicates (2)
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
package gintersect

var (
	samplesInitialized = false

	testCharacters     map[rune]Token
	testCharactersPlus map[rune]Token
	testCharactersStar map[rune]Token

	testDot, testDotPlus, testDotStar Token

	testLowerAlphaSet, testLowerAlphaSetPlus, lowerAplhaSetStar     Token
	testUpperAlphaSet, testUpperAlphaSetPlus, testUpperAlphaSetStar Token
	testNumSet, testNumSetPlus, testNumSetStar                      Token
	testSymbolSet, testSymbolSetPlus, testSymbolSetStar             Token

	testEmptySet Token
)

func initializeTestSamples() {
	if samplesInitialized {
		return
	}

	testCharacters, testCharactersPlus, testCharactersStar = make(map[rune]Token), make(map[rune]Token), make(map[rune]Token)

	testDot, testDotPlus, testDotStar = NewDot(), NewDot(), NewDot()
	testDotPlus.SetFlag(FlagPlus)
	testDotStar.SetFlag(FlagStar)

	var runes []rune
	runes = makeRunes('a', 'z')

	testLowerAlphaSet, testLowerAlphaSetPlus, lowerAplhaSetStar = NewSet(runes), NewSet(runes), NewSet(runes)
	testLowerAlphaSetPlus.SetFlag(FlagPlus)
	lowerAplhaSetStar.SetFlag(FlagStar)

	runes = makeRunes('A', 'Z')

	testUpperAlphaSet, testUpperAlphaSetPlus, testUpperAlphaSetStar = NewSet(runes), NewSet(runes), NewSet(runes)
	testUpperAlphaSetPlus.SetFlag(FlagPlus)
	testUpperAlphaSetStar.SetFlag(FlagStar)

	runes = makeRunes('0', '9')

	testNumSet, testNumSetPlus, testNumSetStar = NewSet(runes), NewSet(runes), NewSet(runes)
	testNumSetPlus.SetFlag(FlagPlus)
	testNumSetStar.SetFlag(FlagStar)

	runes = makeRunes('!', '/')

	testSymbolSet, testSymbolSetPlus, testSymbolSetStar = NewSet(runes), NewSet(runes), NewSet(runes)
	testSymbolSetPlus.SetFlag(FlagPlus)
	testSymbolSetStar.SetFlag(FlagStar)

	testEmptySet = NewSet([]rune{})

	samplesInitialized = true
}

func makeRunes(from rune, to rune) []rune {
	runes := make([]rune, 0, 30)
	for r := from; r <= to; r++ {
		runes = append(runes, r)
		addToCharacters(r)
	}

	return runes
}

func addToCharacters(r rune) {
	var t Token

	t = NewCharacter(r)
	testCharacters[r] = t

	t = NewCharacter(r)
	t.SetFlag(FlagPlus)
	testCharactersPlus[r] = t

	t = NewCharacter(r)
	t.SetFlag(FlagStar)
	testCharactersStar[r] = t
}