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