/// <summary> /// Manually create math question /// </summary> /// <param name="op">Operator to use</param> public MathQuestion(MathInterpreter interpreter) { if (Rand == null) { Rand = new Random(Environment.TickCount); } Interpreter = interpreter; }
/// <summary> /// Randomly generates a question /// </summary> public MathQuestion(DifficultyLevel level) { if (Rand == null) { Rand = new Random(Environment.TickCount); } Interpreter = MakeRandomInterpreter(level); }
public void GetAnswer_ReturnsCorrectAnswer_WhenProvidedThreePartAdditionExpression() { const string testExpression = "4012 + 550992 + 6672"; const decimal expectedAnswer = 561676; var sut = new MathInterpreter(); var result = sut.GetAnswer(testExpression); Assert.Equal(expectedAnswer, result); }
public void GetAnswer_ReturnsCorrectAnswer_WhenProvidedExpression8() { const string testExpression = "4 + 5 - 2 * (6 + 4)"; const decimal expectedAnswer = -11; var sut = new MathInterpreter(); var result = sut.GetAnswer(testExpression); Assert.Equal(expectedAnswer, result); }
public void GetAnswer_ReturnsCorrectAnswer_WhenProvidedExpression4() { const string testExpression = "-6 - (-4 * 5) * -1"; const decimal expectedAnswer = -26; var sut = new MathInterpreter(); var result = sut.GetAnswer(testExpression); Assert.Equal(expectedAnswer, result); }
public void GetAnswer_ReturnsCorrectAnswer_WhenProvidedTripleNegativeMultWithParen() { const string testExpression = "-6 - (-4 * 5)"; const decimal expectedAnswer = 14; var sut = new MathInterpreter(); var result = sut.GetAnswer(testExpression); Assert.Equal(expectedAnswer, result); }
public void GetAnswer_ReturnsCorrectAnswer_WhenProvidedNegativeMult() { const string testExpression = "6 - 4 * 5"; const decimal expectedAnswer = -14; var sut = new MathInterpreter(); var result = sut.GetAnswer(testExpression); Assert.Equal(expectedAnswer, result); }
public void GetAnswer_ReturnsCorrectAnswer_WhenProvidedThreePartSubtractionExpression() { const string testExpression = "8854201 - 33445 - 54"; const decimal expectedAnswer = 8820702; var sut = new MathInterpreter(); var result = sut.GetAnswer(testExpression); Assert.Equal(expectedAnswer, result); }
public void GetAnswer_ReturnsCorrectAnswer_WhenProvidedDivisionWithDecimalResult() { const string testExpression = "10 / 4"; const decimal expectedAnswer = 2.5M; var sut = new MathInterpreter(); var result = sut.GetAnswer(testExpression); Assert.Equal(expectedAnswer, result); }
public void GetAnswer_ReturnsCorrectAnswer_WhenProvidedMultiplicationWithAdditionFour() { const string testExpression = "3 + 5 * 6 + 3 * 10 + 5 + 5 * 1 + 8.5 - 2"; const decimal expectedAnswer = 79.5M; var sut = new MathInterpreter(); var result = sut.GetAnswer(testExpression); Assert.Equal(expectedAnswer, result); }
public void GetAnswer_ReturnsCorrectAnswer_WhenProvidedComplexExpressionWithDecimal() { const string testExpression = "4012.43 + 550992.111 - .02 + 324 - 9999999 - 10.00 - 4323 + .009 + 39393"; const decimal expectedAnswer = -9409610.47M; var sut = new MathInterpreter(); var result = sut.GetAnswer(testExpression); Assert.Equal(expectedAnswer, result); }
public void GetAnswer_ReturnsCorrectAnswer_WhenProvidedExpressionWithDecimal() { const string testExpression = "4012.43 + 550992.111"; const decimal expectedAnswer = 555004.541M; var sut = new MathInterpreter(); var result = sut.GetAnswer(testExpression); Assert.Equal(expectedAnswer, result); }
public void GetAnswer_ReturnsCorrectAnswer_WhenProvidedComplexAdditionAndSubstrationExpression() { const string testExpression = "8854201 + 4435 - 690 - 77744655 + 1 + 1+234 + 656432 - 90 - 90-99+1 +590333"; const decimal expectedAnswer = -67639986; var sut = new MathInterpreter(); var result = sut.GetAnswer(testExpression); Assert.Equal(expectedAnswer, result); }
public void GetAnswer_ReturnsCorrectAnswer_WhenProvidedExpressionWithAdditionAndSubtractionExpression() { const string testExpression = "8854201 + 4435 - 690"; const decimal expectedAnswer = 8857946; var sut = new MathInterpreter(); var result = sut.GetAnswer(testExpression); Assert.Equal(expectedAnswer, result); }
public void GetAnswer_ReturnsCorrectAnswer_WhenProvidedNestedParenthetical3() { const string testExpression = "5 * (-1 * ((6 + 2) - (10 * (5 - 3))))"; const decimal expectedAnswer = 60; var sut = new MathInterpreter(); var result = sut.GetAnswer(testExpression); Assert.Equal(expectedAnswer, result); }
public void GetAnswer_ReturnsCorrectAnswer_WhenProvidedSimpleAdditionExpression() { const string testExpression = "4 + 5"; const decimal expectedAnswer = 9; var sut = new MathInterpreter(); var result = sut.GetAnswer(testExpression); Assert.Equal(expectedAnswer, result); }
public void GetAnswer_ReturnsCorrectAnswer_WhenProvidedDivisionAndMultiplication() { const string testExpression = "10 / 2 * 5"; const decimal expectedAnswer = 25; var sut = new MathInterpreter(); var result = sut.GetAnswer(testExpression); Assert.Equal(expectedAnswer, result); }
public void GetAnswer_ReturnsCorrectAnswer_WhenProvidedNegativeResultSubtractionExpression() { const string testExpression = "33445 - 8854201"; const decimal expectedAnswer = -8820756; var sut = new MathInterpreter(); var result = sut.GetAnswer(testExpression); Assert.Equal(expectedAnswer, result); }
public void GetAnswer_ReturnsCorrectAnswer_WhenProvidedMultiplicationWithAdditionAndParen() { const string testExpression = "(3 + 5) * 6"; const decimal expectedAnswer = 48; var sut = new MathInterpreter(); var result = sut.GetAnswer(testExpression); Assert.Equal(expectedAnswer, result); }