Files
2023-04-19 20:24:34 +02:00

85 lines
2.1 KiB
Go

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
}