public void IntConstructorSingleTableReturnsSelectedQuizMultiple() { // Arrange const int testMultiple = 5; var engine = new MultiplicationEngine(new[] { testMultiple }); var p = engine.CreateRandomMultiplicationProblem(); // Act int multiple = p.Multiple; // Assert Assert.AreEqual((int)testMultiple, multiple); Assert.IsFalse(p.IsAnswered); }
public void IntConstructorMultipleTableReturnsSelectedQuizMultiple() { // Arrange int[] testMultiples = new[] { 2, 4, 8 }; var engine = new MultiplicationEngine(testMultiples); var p = engine.CreateRandomMultiplicationProblem(); // Act int multiple = p.Multiple; // Assert Assert.IsTrue(new List <int>(testMultiples).Contains(multiple)); Assert.IsFalse(p.IsAnswered); }
public void IntConstructorSingleTableEvaluateReturnsTrueWhenAnswerIsCorrect() { // Arrange const int testMultiple = 5; var engine = new MultiplicationEngine(new[] { testMultiple }); var p = engine.CreateRandomMultiplicationProblem(); p.Answer = p.Multiple * p.Multiplier; // Act bool result = engine.Evaluate(p); // Assert Assert.IsTrue(p.IsAnswered); Assert.IsTrue(result); }
public void EnumConstructorSingleTableEvaluateReturnsFalseWhenAnswerIsNotCorrect() { // Arrange const MultiplicationTable testMultiple = MultiplicationTable.Five; var engine = new MultiplicationEngine(new[] { testMultiple }); var p = engine.CreateRandomMultiplicationProblem(); p.Answer = 33; // just a number that is not a multiple of testMultiple // Act bool result = engine.Evaluate(p); // Assert Assert.IsTrue(p.IsAnswered); Assert.IsFalse(result); }
public MultiplicationProblem GetProblem() { var engine = new MultiplicationEngine((IEnumerable <int>)HttpContext.Current.Session[QuizMultiplesSessionKey]); return(engine.CreateRandomMultiplicationProblem()); }