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