コード例 #1
0
        static void Main(string[] args)
        {
            var distance        = 159.5;
            var product         = new { Name = "Xbox", Weight = 2.6 };
            var shippingService = new ShippingService();

            var correiosShipping = new Correios();
            var jadlogShipping   = new Jadlog();
            var tntShipping      = new Tnt();
            var upsShipping      = new Ups();

            shippingService.SetCalculateShipping(correiosShipping);
            double correiosShippingPrice = shippingService.Calculate(product.Weight, distance);

            shippingService.SetCalculateShipping(jadlogShipping);
            double jadlogShippingPrice = shippingService.Calculate(product.Weight, distance);

            shippingService.SetCalculateShipping(tntShipping);
            double tntShippingPrice = shippingService.Calculate(product.Weight, distance);

            shippingService.SetCalculateShipping(upsShipping);
            double upsShippingPrice = shippingService.Calculate(product.Weight, distance);

            System.Console.WriteLine($"Correios: {correiosShippingPrice:C2}");
            System.Console.WriteLine($"Jadlog: {jadlogShippingPrice:C2}");
            System.Console.WriteLine($"TNT: {tntShippingPrice:C2}");
            System.Console.WriteLine($"UPS: {upsShippingPrice:C2}");
        }
コード例 #2
0
        public async Task Calculate_Returns_FreeShipping_Given_ZeroSubtotal()
        {
            //arrange
            var sut = new ShippingService(_siteSettingsService.Object);

            //act
            var actual = await sut.Calculate(0.00m);

            //assert
            Assert.Equal(0.00m, actual);
        }
コード例 #3
0
        public async Task Calculate_Returns_FreeShipping_GreaterThanShippingThreshold()
        {
            //arrange
            var sut = new ShippingService(_siteSettingsService.Object);

            //act
            var actual = await sut.Calculate(5.01m);

            //assert
            Assert.Equal(0.00m, actual);
        }
コード例 #4
0
        public async Task Calculate_Returns_FlatShipping_LessThanShippingThreshold()
        {
            //arrange
            var sut = new ShippingService(_siteSettingsService.Object);

            //act
            var actual = await sut.Calculate(4.99m);

            //assert
            Assert.Equal(19.99m, actual);
        }