public void OperationRunnerTest_negative_number() { var op = Operation.Parse("+ -1 2"); var result = OperationRunner.Run(op); var expected = 1; Assert.AreEqual(expected, result); }
public void OperationRunnerTest() { var op = Operation.Parse("* + 2 3 4"); var result = OperationRunner.Run(op); var expected = 20; Assert.AreEqual(expected, result); }
public void OperationRunnerTest1() { var op = Operation.Parse("/ + 10 2 4"); var result = OperationRunner.Run(op); var expected = 9; Assert.AreEqual(expected, result); }
public void OperationParser() { var input = "* + 2 3 4"; var result = Operation.Parse(input); Assert.IsTrue(result.Operations.Contains(Operator.Mult)); Assert.IsTrue(result.Operations.Contains(Operator.Add)); }
public void PlusStringWithSpacesParsingToAdditionOperation() { var plusWithSpacesString = " + "; var operation = Operation.Parse(plusWithSpacesString); Assert.IsType <AdditionOperation>(operation); }
public void StringWithOnlySpacesThrowsInvalidOperationException() { var operatorString = " "; Action action = () => Operation.Parse(operatorString); var invalidOperationException = Assert.Throws <InvalidOperationException>(action); Assert.Equal("Operation it is not white space", invalidOperationException.Message); }
public void StringWithAnotherSymbolThrowsInvalidOperationException() { var stringWithAnotherSymbol = "0"; Action action = () => Operation.Parse(stringWithAnotherSymbol); var invalidOperationException = Assert.Throws <InvalidOperationException>(action); Assert.Equal("This operation is not support", invalidOperationException.Message); }
public void ParseShouldFindLeftAndRightNumber(double leftNumber, string operand, double rightNumber) { //Arrange var operation = new Operation(); //Act operation.Parse($"{leftNumber}{operand}{rightNumber}"); //Assert Assert.That(operation.LeftNumber, Is.EqualTo(leftNumber)); Assert.That(operation.RightNumber, Is.EqualTo(rightNumber)); }
public static Command Parse(string s) { var lines = SplitToLines(s); return(new Command { InState = ParseWordFromEnd(lines[0])[0], FalseOperation = Operation.Parse(new ArraySegment <string>(lines, 2, 3).ToArray()), TrueOperation = Operation.Parse(new ArraySegment <string>(lines, 6, 3).ToArray()), }); }
public void SolveShouldReturnDouble(string equation, double expectedResult) { //Arrange var operation = new Operation(); operation.Parse(equation); //Act var result = operation.Solve(); //Assert Assert.That(result, Is.EqualTo(expectedResult)); }
private static long ComputeFlatEquation(string equation, OperationOrder order) { equation = Regex.Replace(equation, @"\s+", ""); Operation operation = new Operation(); operation.Parse(equation, order); var result = operation.Solve(); return(result); }
private void ParseProgram() { if (Program != null) { return; } Input = Input.Replace("\r", ""); Program = Input .Split(new[] { '\n' }, StringSplitOptions.RemoveEmptyEntries) .Select(s => Operation.Parse(s)) .ToArray(); }