public void ShouldNotAccept() { CharacterRange predicate; predicate = Parse.CharacterRange('a', 'z'); Assert.IsFalse(predicate.Accept('1')); }
public void ShouldConvertToString() { IPredicate predicate; predicate = Parse.CharacterRange('a', 'z'); Assert.AreEqual("[a-z]", predicate.ToString()); }
public void ShouldReadAndSeek() { ICharReader reader; ILexer lexer; Rule letter, word; TokenMatch tokenMatch; reader = new MockedCharReader("abcde"); word = new Rule("Word", Parse.Characters("abcdef")); letter = new Rule("Letter", Parse.CharacterRange('a', 'z')); lexer = new Lexer(word, letter); tokenMatch = lexer.Read(reader); Assert.AreEqual("Letter", tokenMatch.Token.Class); Assert.AreEqual("a", tokenMatch.Token.Value); tokenMatch = lexer.Read(reader); Assert.AreEqual("Letter", tokenMatch.Token.Class); Assert.AreEqual("b", tokenMatch.Token.Value); tokenMatch = lexer.Read(reader); Assert.AreEqual("Letter", tokenMatch.Token.Class); Assert.AreEqual("c", tokenMatch.Token.Value); tokenMatch = lexer.Read(reader); Assert.AreEqual("Letter", tokenMatch.Token.Class); Assert.AreEqual("d", tokenMatch.Token.Value); tokenMatch = lexer.Read(reader); Assert.AreEqual("Letter", tokenMatch.Token.Class); Assert.AreEqual("e", tokenMatch.Token.Value); }
public void ShouldCreateCharacterRangePredicate() { ICharacterRange predicate; predicate = Parse.CharacterRange('a', 'z'); Assert.IsNotNull(predicate); Assert.AreEqual('a', predicate.FirstValue); Assert.AreEqual('z', predicate.LastValue); }
public void ShouldAccept() { CharacterRange predicate; predicate = Parse.CharacterRange('a', 'z'); Assert.IsTrue(predicate.Accept('a')); Assert.IsTrue(predicate.Accept('b')); Assert.IsTrue(predicate.Accept('c')); Assert.IsTrue(predicate.Accept('z')); }