public void CheckRRNodeStreamBehaviourWhileEmpty1() { string description = "RewriteRuleNodeStream test"; RewriteRuleNodeStream nodeTest = new RewriteRuleNodeStream(CreateTreeAdaptor(), description); Assert.IsFalse(nodeTest.HasNext(), "HasNext() has to give back false here."); Assert.AreEqual(description.ToString(), nodeTest.Description, "Description strings should be equal."); Assert.AreEqual(0, nodeTest.Size(), "The number of elements should be zero."); nodeTest.Reset(); Assert.IsTrue(true, "Reset() shouldn't make any problems here."); Assert.AreEqual(0, nodeTest.Size(), "The number of elements should be still zero."); nodeTest.NextNode(); }
public void CheckRRNodeStreamBehaviourWithElements() { RewriteRuleNodeStream nodeTest = new RewriteRuleNodeStream(CreateTreeAdaptor(), "RewriteRuleNodeStream test"); IToken token1 = CreateToken(1, "test token without any real context"); ITree tree1 = CreateTree(token1); // Test Add() nodeTest.Add(tree1); Assert.AreEqual(1, nodeTest.Size(), "nodeTest should have the size 1 (1)."); Assert.IsTrue(nodeTest.HasNext(), "HasNext() should be true here (1)."); // Test NextNode() CommonTree returnedTree = (CommonTree)nodeTest.NextNode(); Assert.AreEqual(tree1.Type, returnedTree.Type, "The returned tree should be equal to the given tree (1)."); Assert.AreEqual(1, nodeTest.Size(), "nodeTest should have the size 1 (2)."); Assert.IsFalse(nodeTest.HasNext(), "HasNext() should be false here (1)."); nodeTest.Reset(); Assert.AreEqual(1, nodeTest.Size(), "nodeTest should have the size 1 (3)."); Assert.IsTrue(nodeTest.HasNext(), "HasNext() should be true here (2)."); // Test NextTree() returnedTree = (CommonTree)nodeTest.NextTree(); Assert.AreEqual(token1, returnedTree.Token, "The returned token should be equal to the given token (3)."); Assert.AreEqual(1, nodeTest.Size(), "nodeTest should have the size 1 (4)."); Assert.IsFalse(nodeTest.HasNext(), "HasNext() should be false here (2)."); nodeTest.Reset(); Assert.AreEqual(1, nodeTest.Size(), "nodeTest should have the size 1 (5)."); Assert.IsTrue(nodeTest.HasNext(), "HasNext() should be true here (3)."); // Test, what happens with two elements IToken token2 = CreateToken(2, "test token without any real context"); ITree tree2 = CreateTree(token2); nodeTest.Add(tree2); Assert.AreEqual(2, nodeTest.Size(), "nodeTest should have the size 2 (1)."); Assert.IsTrue(nodeTest.HasNext(), "HasNext() should be true here (4)."); returnedTree = (CommonTree)nodeTest.NextTree(); Assert.AreEqual(token1, returnedTree.Token, "The returned token should be equal to the given token (4)."); Assert.AreEqual(2, nodeTest.Size(), "nodeTest should have the size 2 (2)."); Assert.IsTrue(nodeTest.HasNext(), "HasNext() should be true here (5)."); returnedTree = (CommonTree)nodeTest.NextTree(); Assert.AreEqual(token2, returnedTree.Token, "The returned token should be equal to the given token (5)."); Assert.IsFalse(nodeTest.HasNext(), "HasNext() should be false here (3)."); // Test exception nodeTest.NextTree(); }