public void MultipleTokensWithPartialMatches() { var tokens = new List<IToken> { new StringToken("hej"), new StringToken("hejsan") }; var parseThis = "hej hejsan hej"; var expected = new List<string> { "hej", "hejsan", "hej" }; var parsed = new Tokenizer(tokens).Parse(parseThis); CollectionAssert.AreEqual(expected, parsed); }
public void MultipleTokensWithPartialMatches2() { var tokens = new List<IToken> { new StringToken("a"), new StringToken("ab"), new StringToken("abc"), new StringToken("abcd") }; var parseThis = "aababcabcdabcaba"; var expected = new List<string> { "a", "ab", "abc", "abcd", "abc", "ab", "a" }; var parsed = new Tokenizer(tokens).Parse(parseThis); CollectionAssert.AreEqual(expected, parsed); }
public void MultipleTokensAppearsOnceEach() { var tokens = new List<IToken> { new StringToken("test"), new StringToken("hej") }; var parseThis = "hej test"; var expected = new List<string> { "hej", "test" }; var parsed = new Tokenizer(tokens).Parse(parseThis); CollectionAssert.AreEqual(expected, parsed); }
public void IntegerLongerThanOneChar() { var tokens = new List<IToken> { new IntegerToken() }; var parseThis = "12"; var expected = new List<string> { "12" }; var parsed = new Tokenizer(tokens).Parse(parseThis); CollectionAssert.AreEqual(expected, parsed); }
public void IntegerAndTextRespectsSpace() { var tokens = new List<IToken> { new StringToken("test"), new IntegerToken() }; var parseThis = " 12 test "; var expected = new List<string> { "12", "test" }; var parsed = new Tokenizer(tokens).Parse(parseThis); CollectionAssert.AreEqual(expected, parsed); }
public ScheduleParser() { _tokenizer = new Tokenizer(); Add("every", "day", "month", "week", "year", "hour", "at", "@", ":", "st", "nd", "rd", "th", "last", "s", "and"); Add(_days); _tokenizer.AddToken(new IntegerToken()); }
public void SingleTokenAppearsOnce() { var tokens = new List<IToken> { new StringToken("test") }; var parseThis = "test"; var expected = new List<string> { "test" }; var parsed = new Tokenizer(tokens).Parse(parseThis); CollectionAssert.AreEqual(expected, parsed); }
public void SpaceBetweenTextsSeperatesThem2() { var tokens = new List<IToken> { new StringToken("test"), new StringToken("testtest") }; var parseThis = "testtest"; var expected = new List<string> { "testtest" }; var parsed = new Tokenizer(tokens).Parse(parseThis); CollectionAssert.AreEqual(expected, parsed); }
public void SpaceBetweenIntegersSeperatesThem() { var tokens = new List<IToken> { new IntegerToken() }; var parseThis = " 12 1 "; var expected = new List<string> { "12", "1" }; var parsed = new Tokenizer(tokens).Parse(parseThis); CollectionAssert.AreEqual(expected, parsed); }