private static void AssertForestsAreEqual(IForestNode expected, IForestNode actual) { Assert.IsNotNull(expected != null, nameof(expected) + " != null"); Assert.IsNotNull(actual != null, nameof(actual) + " != null"); var comparer = new StatefulForestNodeComparer(); Assert.IsTrue(comparer.Equals(expected, actual)); }
private static void AssertLeoAndClassicParseAlgorithmsCreateSameForest(IEnumerable <IToken> tokens, IGrammar grammar) { var leoEngine = new ParseEngine(grammar); var classicEngine = new ParseEngine(grammar, new ParseEngineOptions(optimizeRightRecursion: false)); Assert.IsTrue(RunParse(leoEngine, tokens), "Leo Parse Failed"); Assert.IsTrue(RunParse(classicEngine, tokens), "Classic Parse Failed"); var nodeComparer = new StatefulForestNodeComparer(); var leoParseForestRoot = leoEngine.GetParseForestRootNode(); var classicParseForestRoot = classicEngine.GetParseForestRootNode(); Assert.IsTrue(nodeComparer.Equals( classicParseForestRoot, leoParseForestRoot), "Leo and Classic Parse Forest mismatch"); }
private static void AssertLeoAndClassicParseAlgorithmsCreateSameForest(string input, IGrammar grammar) { var leoEngine = new ParseEngine(grammar); var classicEngine = new ParseEngine(grammar, new ParseEngineOptions(optimizeRightRecursion: false)); var leoTester = new ParseTester(leoEngine); var classicTester = new ParseTester(classicEngine); leoTester.RunParse(input); classicTester.RunParse(input); var nodeComparer = new StatefulForestNodeComparer(); var leoParseForestRoot = leoEngine.GetParseForestRootNode(); var classicParseForestRoot = classicEngine.GetParseForestRootNode(); Assert.IsTrue(nodeComparer.Equals( classicParseForestRoot, leoParseForestRoot), "Leo and Classic Parse Forest mismatch"); }
static void AssertForestsAreEqual(IForestNode expected, IForestNode actual) { var comparer = new StatefulForestNodeComparer(); Assert.IsTrue(comparer.Equals(expected, actual)); }