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"]); }
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()); }
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); }
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()); }
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); }