示例#1
0
        public void StartCalculatingTest()
        {
            var DataInput = new Mock<IDataInput>();

            bool _cancel = false;
            DataInput.Setup(m => m.Input(It.IsAny<string>(), out _cancel)).Returns("123");

            var Calc = new Mock<ICalculator>();
            Calc.Setup(m => m.Reset(It.IsAny<double>()));
            var Strategy = new CalculateStrategy(new Dictionary<string, ICalculatorAction>(), Calc.Object, DataInput.Object);

            bool Started = Strategy.StartCalculating();
            Assert.AreEqual(true, Started, "вычисление должно было начаться ");
            Calc.Verify(c => c.Reset(It.Is<double>(t => t == 123)), Times.Once());

            _cancel = true;
            DataInput.Setup(m => m.Input(It.IsAny<string>(), out _cancel)).Returns("123");

            Started = Strategy.StartCalculating();
            Assert.AreEqual(false, Started, "вычисление не должно было начаться ");
            Calc.Verify(c => c.Reset(It.IsAny<double>()), Times.Once());
        }