public void GetThis() { Tokenizer testSubject = new Tokenizer("create table test(id int, \"val\" varchar(12));"); Assert.AreEqual(Token.ValueFor.CREATE, testSubject.GetThis(Token.ValueFor.CREATE)); Assert.AreEqual(Token.ValueFor.TABLE, testSubject.GetThis(Token.ValueFor.TABLE)); try { string actual = testSubject.GetThis("test"); Assert.Fail("successful invocation of GetThis(string) with non-match value"); } catch (Exception ex) { Assert.IsInstanceOfType(typeof(HsqlDataSourceException), ex); } Assert.That(testSubject.WasThis("TEST")); Assert.That(testSubject.TokenType == SqlTokenType.Name); Assert.AreEqual(Token.ValueFor.OPENBRACKET, testSubject.GetThis(Token.ValueFor.OPENBRACKET)); Assert.AreEqual("ID", testSubject.GetThis("ID")); Assert.AreEqual(Token.ValueFor.INT, testSubject.GetThis(Token.ValueFor.INT)); Assert.AreEqual(Token.ValueFor.COMMA, testSubject.GetThis(Token.ValueFor.COMMA)); try { Assert.AreEqual("val", testSubject.GetThis("val")); } catch (Exception ex) { Assert.IsInstanceOfType(typeof(HsqlDataSourceException), ex); } Assert.That(testSubject.WasDelimitedIdentifier); Assert.AreEqual("\"val\"", testSubject.NormalizedToken); Assert.AreEqual(Token.ValueFor.VARCHAR, testSubject.GetThis(Token.ValueFor.VARCHAR)); Assert.AreEqual(Token.ValueFor.OPENBRACKET, testSubject.GetThis(Token.ValueFor.OPENBRACKET)); Assert.AreEqual("12", testSubject.GetThis("12")); Assert.That(testSubject.TokenType == SqlTokenType.IntegerLiteral); Assert.That(testSubject.LiteralValueDataType == HsqlProviderType.Integer); Assert.AreEqual(Token.ValueFor.CLOSEBRACKET, testSubject.GetThis(Token.ValueFor.CLOSEBRACKET)); Assert.AreEqual(Token.ValueFor.CLOSEBRACKET, testSubject.GetThis(Token.ValueFor.CLOSEBRACKET)); Assert.AreEqual(Token.ValueFor.SEMICOLON, testSubject.GetThis(Token.ValueFor.SEMICOLON)); }
public void WasThis() { Tokenizer testSubject = new Tokenizer("foo bar \"baz\" foo.bar"); testSubject.GetThis("FOO"); testSubject.GetThis("BAR"); Assert.AreEqual(true, testSubject.WasThis("BAR")); Assert.AreEqual(false, testSubject.WasThis("bar")); Assert.AreEqual(false, testSubject.WasThis(" BAR ")); Assert.AreEqual(false, testSubject.WasThis("NOTBAR")); string name = testSubject.GetNextAsName(); // not for use with delimited identifier. Assert.AreEqual(false, testSubject.WasThis("baz")); Assert.AreEqual(false, testSubject.WasThis("BAZ")); Assert.AreEqual(false, testSubject.WasThis(" baz ")); Assert.AreEqual(false, testSubject.WasThis("notbaz")); string s = testSubject.GetNextAsString(); // not for use with identifier chain. Assert.AreEqual(false, testSubject.WasThis("bar")); Assert.AreEqual(false, testSubject.WasThis("BAR")); Assert.AreEqual(false, testSubject.WasThis(" bar ")); Assert.AreEqual(false, testSubject.WasThis("notbar")); }