public void TestCurrent()
        {
            CMLModuleStack stack = new CMLModuleStack();
            ICMLModule     first = new CMLCoreModule((IChemFile)null);

            stack.Push(first);
            Assert.AreEqual(first, stack.Current);
        }
Exemple #2
0
 /// <summary>
 /// Constructor for the CMLHandler.
 /// </summary>
 /// <param name="chemFile">The document in which data is stored</param>
 public CMLHandler(IChemFile chemFile)
 {
     conv            = new CMLCoreModule(chemFile);
     userConventions = new Dictionary <string, ICMLModule>();
     xpath           = new CMLStack();
     conventionStack = new CMLStack();
     moduleStack     = new CMLModuleStack();
 }
        public void TestPush_String()
        {
            // the class has a hardcoded default length. Test going beyond this.
            CMLModuleStack stack = new CMLModuleStack();

            for (int i = 0; i < 100; i++)
            {
                stack.Push(new CMLCoreModule((IChemFile)null));
            }
        }
        public void TestEndsWith_String()
        {
            CMLModuleStack stack = new CMLModuleStack();
            ICMLModule     first = new CMLCoreModule((IChemFile)null);

            stack.Push(first);
            Assert.IsTrue(stack.EndsWith(first));
            ICMLModule second = new CMLCoreModule((IChemFile)null);

            stack.Push(second);
            Assert.IsTrue(stack.EndsWith(second));
        }
        public void TestPop()
        {
            CMLModuleStack stack  = new CMLModuleStack();
            ICMLModule     first  = new CMLCoreModule((IChemFile)null);
            ICMLModule     second = new CMLCoreModule((IChemFile)null);
            ICMLModule     third  = new CMLCoreModule((IChemFile)null);

            stack.Push(first);
            stack.Push(second);
            stack.Push(third);
            Assert.AreEqual(third, stack.Pop());
            Assert.AreEqual(second, stack.Pop());
            Assert.AreEqual(first, stack.Pop());
            try
            {
                Assert.AreEqual("doesNotExist", stack.Pop());
                Assert.Fail("Should have received an ArrayIndexOutOfBoundsException");
            }
            catch (Exception)
            {
                // OK, should happen
            }
        }