Exemple #1
0
        public void LLConfPopPeekTest()
        {
            CharSymbol chSym  = new CharSymbol('A');
            var        imList = ImmutableList.Create(states["A1"], states["A2"]);
            var        begLL  = new LlConfiguration <CharSymbol>(chSym, imList);

            Assert.AreEqual(begLL.Pop().Peek(), states["A1"]);
        }
Exemple #2
0
        public void LLConfThreePopToEmptyTest()
        {
            CharSymbol chSym  = new CharSymbol('A');
            var        imList = ImmutableList.Create(states["A1"], states["B2"], states["A3"]);
            var        ll1    = new LlConfiguration <CharSymbol>(chSym);
            var        ll2    = new LlConfiguration <CharSymbol>(chSym, imList);

            Assert.AreEqual(ll1, ll2.Pop().Pop().Pop());
        }
Exemple #3
0
        public void LLConfPopToEmptyTest()
        {
            CharSymbol chSym  = new CharSymbol('A');
            var        imList = ImmutableList.Create(states["A1"]);
            var        begLL  = new LlConfiguration <CharSymbol>(chSym, imList);
            var        resLL  = new LlConfiguration <CharSymbol>(chSym);

            Assert.AreEqual(begLL.Pop(), resLL);
        }
Exemple #4
0
        public void LLConfOnePopEqualTest()
        {
            CharSymbol chSym   = new CharSymbol('A');
            var        imList1 = ImmutableList.Create(states["A1"], states["A2"]);
            var        imList2 = ImmutableList.Create(states["A1"], states["A2"], states["A3"]);
            var        ll1     = new LlConfiguration <CharSymbol>(chSym, imList1);
            var        ll2     = new LlConfiguration <CharSymbol>(chSym, imList2);

            Assert.AreEqual(ll1, ll2.Pop());
        }
Exemple #5
0
        public void LLConfPopCountTest()
        {
            CharSymbol chSym = new CharSymbol('A');
            var        stack = new Stack <DfaState <CharSymbol> >();

            stack.Push(states["A1"]);
            stack.Push(states["A2"]);
            var ll = new LlConfiguration <CharSymbol>(chSym, stack);

            Assert.AreEqual(ll.Pop().Count(), 1);
        }