public void When_Order_Amount_Is_Negative_Return_OrderAmountZero_Object()
        {
            var orderAmountZero = new OrderAmountZero();

            orderAmountFactoryMock.Setup(x => x.GetOrderAmount(-2)).Returns(orderAmountZero);

            var orderAmountObj = orderAmountFactoryMock.Object.GetOrderAmount(-2);

            Assert.That(orderAmountObj.GetType().Equals(typeof(OrderAmountZero)));
            orderAmountFactoryMock.Verify(x => x.GetOrderAmount(-2), Times.Once);
        }
        public void When_Order_Amount_Is_Negative_Then_Return_Amount_Validation_Flag_Is_False()
        {
            var orderAmountZero = new OrderAmountZero();

            orderAmountFactoryMock.Setup(x => x.GetOrderAmount(-2)).Returns(orderAmountZero);
            orderAmountValidatorMock.Setup(x => x.ValidateOrderAmount(orderAmountZero)).Returns(false);

            var orderAmountObj = orderAmountFactoryMock.Object.GetOrderAmount(-2);
            var validationFlag = orderAmountValidatorMock.Object.ValidateOrderAmount(orderAmountObj);

            Assert.That(orderAmountObj.GetType().Equals(typeof(OrderAmountZero)));
            Assert.That(validationFlag, Is.False);
            orderAmountFactoryMock.Verify(x => x.GetOrderAmount(-2), Times.Once);
            orderAmountValidatorMock.Verify(x => x.ValidateOrderAmount(orderAmountZero), Times.Once);
        }