public void Call_DiviteNonZeroInts() { _context.Setup(mock => mock.Get <IntValue>(0)).Returns(new IntValue(5)); _context.Setup(mock => mock.Get <IntValue>(1)).Returns(new IntValue(2)); var function = new IntValueDivisionFunction(); var result = function.Call(_context.Object); Assert.IsInstanceOfType(result, typeof(IntValue)); Assert.AreEqual(5 / 2, ((IntValue)result).Value); }
public void Call_DivideByZero() { _context.Setup(mock => mock.Get <IntValue>(0)).Returns(new IntValue(5)); _context.Setup(mock => mock.Get <IntValue>(1)).Returns(new IntValue(0)); _context.Setup(mock => mock.Error(It.IsAny <string>())).Returns(new IntValue(null)); var function = new IntValueDivisionFunction(); var result = function.Call(_context.Object); Assert.IsInstanceOfType(result, typeof(IntValue)); Assert.IsTrue(result.IsNull); _context.Verify(mock => mock.Error("Division by zero."), Times.Once); }