public virtual void TestReorderIncorrectShiftResultingTree() { for (int testcase = 0; testcase < correctTrees.Length; ++testcase) { State state = ShiftReduceParser.InitialStateFromGoldTagTree(correctTrees[testcase]); IList <ITransition> gold = CreateTransitionSequence.CreateTransitionSequence(binarizedTrees[testcase]); // System.err.println(correctTrees[testcase]); // System.err.println(gold); int tnum = 0; for (; tnum < gold.Count; ++tnum) { if (gold[tnum] is BinaryTransition) { break; } state = gold[tnum].Apply(state); } state = shift.Apply(state); IList <ITransition> reordered = Generics.NewLinkedList(gold.SubList(tnum, gold.Count)); NUnit.Framework.Assert.IsTrue(ReorderingOracle.ReorderIncorrectShiftTransition(reordered)); // System.err.println(reordered); foreach (ITransition transition in reordered) { state = transition.Apply(state); } Tree debinarized = debinarizer.TransformTree(state.stack.Peek()); // System.err.println(debinarized); NUnit.Framework.Assert.AreEqual(incorrectShiftTrees[testcase].ToString(), debinarized.ToString()); } }
public virtual void TestReorderIncorrectShift() { IList <ITransition> transitions = BuildTransitionList(rightNP, shift, rightVP, finalize); NUnit.Framework.Assert.IsTrue(ReorderingOracle.ReorderIncorrectShiftTransition(transitions)); NUnit.Framework.Assert.AreEqual(BuildTransitionList(tempRightVP, rightVP, finalize), transitions); transitions = BuildTransitionList(rightNP, shift, shift, leftNP, rightVP, finalize); NUnit.Framework.Assert.IsTrue(ReorderingOracle.ReorderIncorrectShiftTransition(transitions)); NUnit.Framework.Assert.AreEqual(BuildTransitionList(shift, leftNP, tempRightVP, rightVP, finalize), transitions); transitions = BuildTransitionList(rightNP, shift, unaryADVP, shift, leftNP, rightVP, finalize); NUnit.Framework.Assert.IsTrue(ReorderingOracle.ReorderIncorrectShiftTransition(transitions)); NUnit.Framework.Assert.AreEqual(BuildTransitionList(unaryADVP, shift, leftNP, tempRightVP, rightVP, finalize), transitions); transitions = BuildTransitionList(rightNP, shift, shift, unaryADVP, leftNP, rightVP, finalize); NUnit.Framework.Assert.IsTrue(ReorderingOracle.ReorderIncorrectShiftTransition(transitions)); NUnit.Framework.Assert.AreEqual(BuildTransitionList(shift, unaryADVP, leftNP, tempRightVP, rightVP, finalize), transitions); transitions = BuildTransitionList(leftNP, shift, shift, unaryADVP, leftNP, rightVP, finalize); NUnit.Framework.Assert.IsTrue(ReorderingOracle.ReorderIncorrectShiftTransition(transitions)); NUnit.Framework.Assert.AreEqual(BuildTransitionList(shift, unaryADVP, leftNP, tempRightVP, rightVP, finalize), transitions); transitions = BuildTransitionList(leftNP, shift, shift, unaryADVP, leftNP, leftVP, finalize); NUnit.Framework.Assert.IsTrue(ReorderingOracle.ReorderIncorrectShiftTransition(transitions)); NUnit.Framework.Assert.AreEqual(BuildTransitionList(shift, unaryADVP, leftNP, tempLeftVP, leftVP, finalize), transitions); transitions = BuildTransitionList(rightNP, shift, shift, unaryADVP, leftNP, leftVP, finalize); NUnit.Framework.Assert.IsTrue(ReorderingOracle.ReorderIncorrectShiftTransition(transitions)); NUnit.Framework.Assert.AreEqual(BuildTransitionList(shift, unaryADVP, leftNP, tempLeftVP, rightVP, finalize), transitions); transitions = BuildTransitionList(leftNP, leftNP, shift, shift, unaryADVP, leftNP, rightVP, finalize); NUnit.Framework.Assert.IsTrue(ReorderingOracle.ReorderIncorrectShiftTransition(transitions)); NUnit.Framework.Assert.AreEqual(BuildTransitionList(shift, unaryADVP, leftNP, tempRightVP, tempRightVP, rightVP, finalize), transitions); transitions = BuildTransitionList(leftNP, rightNP, shift, shift, unaryADVP, leftNP, leftVP, finalize); NUnit.Framework.Assert.IsTrue(ReorderingOracle.ReorderIncorrectShiftTransition(transitions)); NUnit.Framework.Assert.AreEqual(BuildTransitionList(shift, unaryADVP, leftNP, tempLeftVP, tempLeftVP, rightVP, finalize), transitions); transitions = BuildTransitionList(leftNP, leftNP, shift, shift, unaryADVP, leftNP, leftVP, finalize); NUnit.Framework.Assert.IsTrue(ReorderingOracle.ReorderIncorrectShiftTransition(transitions)); NUnit.Framework.Assert.AreEqual(BuildTransitionList(shift, unaryADVP, leftNP, tempLeftVP, tempLeftVP, leftVP, finalize), transitions); }