public void ReturnMustBeZeroFromTotalExpress()
        {
            Mock <IItem> mock = new Mock <IItem>();

            ICalculateStrategy availableStrategy = TransportFactory.GetAvailableStrategy(AvailableTransports.TOTALEXPRESS);
            ItemResult         itemResult        = availableStrategy.Calculate(mock.Object);

            Assert.True(itemResult.Total == 0);
        }
        public void ReturnMustBeZeroFromJadLog()
        {
            Mock <IItem> mock = new Mock <IItem>();

            ICalculateStrategy availableStrategy = TransportFactory.GetAvailableStrategy(AvailableTransports.JADLOG);
            ItemResult         itemResult        = availableStrategy.Calculate(mock.Object);

            Assert.True(itemResult.Total == 0);
        }
        public void MustReturnTaxFromFedex()
        {
            Mock <IItem> mock = new Mock <IItem>();
            IItem        item = mock.Object;

            ICalculateStrategy availableStrategy = TransportFactory.GetAvailableStrategy(AvailableTransports.FEDEX);
            ItemResult         itemResult        = availableStrategy.Calculate(item);

            Assert.Equal(0.65, itemResult.TransportTax);
        }
        public void MustReturnTaxFromTotalExpress()
        {
            Mock <IItem> mock = new Mock <IItem>();
            IItem        item = mock.Object;

            ICalculateStrategy availableStrategy = TransportFactory.GetAvailableStrategy(AvailableTransports.TOTALEXPRESS);
            ItemResult         itemResult        = availableStrategy.Calculate(item);

            Assert.Equal(0.15, itemResult.TransportTax);
        }
        public void MustReturnTaxFromCorreios()
        {
            Mock <IItem> mock = new Mock <IItem>();
            IItem        item = mock.Object;

            ICalculateStrategy availableStrategy = TransportFactory.GetAvailableStrategy(AvailableTransports.CORREIOS);

            ItemResult itemResult = availableStrategy.Calculate(item);

            Assert.Equal(0.80, itemResult.TransportTax);
        }
        public void ReturnMustBeGreaterThanZeroFromTotalExpress()
        {
            Mock <IItem> mock = new Mock <IItem>();

            mock.SetupProperty(item => item.Quantity, 5);
            mock.SetupProperty(item => item.Price, 125.5);

            ICalculateStrategy availableStrategy = TransportFactory.GetAvailableStrategy(AvailableTransports.TOTALEXPRESS);
            ItemResult         itemResult        = availableStrategy.Calculate(mock.Object);

            Assert.True(itemResult.Total > 0);
        }