public void EnforceTwoPartIdentifierChain() { Tokenizer testSubject = new Tokenizer(); Assert.AreEqual(false, testSubject.EnforceTwoPartIdentifierChain); testSubject.EnforceTwoPartIdentifierChain = true; Assert.AreEqual(true, testSubject.EnforceTwoPartIdentifierChain); testSubject.Reset("foo.bar.baz"); try { testSubject.GetNextAsName(); } catch (HsqlDataSourceException hdse) { Assert.AreEqual(org.hsqldb.Trace.THREE_PART_IDENTIFIER, -hdse.ErrorCode); } testSubject.EnforceTwoPartIdentifierChain = false; testSubject.Reset("foo.\"bar\".baz.null.true.false"); testSubject.GetNextAsName(); Token[] expected = new Token[] { new Token("FOO",SqlTokenType.Name), new Token("bar",SqlTokenType.DelimitedIdentifier), new Token("BAZ",SqlTokenType.Name), new Token("NULL",SqlTokenType.Name), new Token("TRUE",SqlTokenType.Name), new Token("FALSE",SqlTokenType.Name), }; int i = 0; foreach (Token token in testSubject.IdentifierChain) { Console.WriteLine(token); Console.WriteLine(expected[i]); Assert.AreEqual(expected[i], token); i++; } }
/// <summary> /// Determines whether the specified <c>HsqlToken</c> equals /// this <c>HsqlToken</c>. /// </summary> /// <param name="token">The token to test.</param> /// <returns> /// <c>true</c> if the specified <c>HsqlToken</c> equals /// this <c>HsqlToken</c>; otherwise, <c>false</c>. /// </returns> public bool Equals(Token token) { return (token != null) && (m_type == token.m_type) && (m_value == token.m_value); }