public void TestEvaulation(string romanNumer, string result) { var processor = new ProcessRomanNumbers(new NumberFactory()); var expressions = processor.GetExprList(romanNumer); expressions.Reverse(); var exprTree = processor.CreateRomanNumber(expressions.ToArray()); var evalated = exprTree.Eval(); var processedNumber = processor.GetRomanNumber(evalated); Assert.AreEqual(result, processedNumber); }
public void TestProcess(string romanNumer, int result) { var processor = new ProcessRomanNumbers(new NumberFactory()); var expressions = processor.GetExprList(romanNumer); expressions.Reverse(); var exprTree = processor.CreateRomanNumber(expressions.ToArray()); var traversal = new RomanNumberExprTraversal(); traversal.Sort(exprTree); Assert.IsNotNull(exprTree); Assert.AreEqual(expected: result, exprTree.Eval().Value); }