-
Notifications
You must be signed in to change notification settings - Fork 3
/
test_samples.go
84 lines (60 loc) · 2.1 KB
/
test_samples.go
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
}