public static void Main(string[] args) { MathNode[] nodes = Parser.Parse(args); Fraction result = MathRunner.Calculate(nodes); Console.WriteLine("= " + result.ToConsoleOutput()); }
public void Parse3Subtract() { string[] values = new string[] { "3_1/2", "-", "1_1/2" }; MathNode[] parsed = Parser.Parse(values); Fraction result = MathRunner.Calculate(parsed); Fraction expected = Fraction.FromString("2"); Assert.Equal(expected, result); }
public void InvalidInputThrowsTrailingFraction() { string[] values = new string[] { "3_1/2", "+", "1_1/2", "1/4" }; MathNode[] parsed = Parser.Parse(values); Exception ex = Assert.Throws <InvalidOperationException>(() => MathRunner.Calculate(parsed)); }
public void DivideByZero() { string[] values = new string[] { "3", "/", "0" }; MathNode[] parsed = Parser.Parse(values); Exception ex = Assert.Throws <InvalidOperationException>(() => MathRunner.Calculate(parsed)); }