예제 #1
0
        public void Buy_1_Of_Each_Vol_1_to_3_Cost_270()
        {
            //arrange
            var target            = new PotterShoppingCart();
            var shoppingCartItem1 = new PotterShoppingCartItem()
            {
                Volumn   = HarryPotter.VOL_1,
                Quantity = 1
            };
            var shoppingCartItem2 = new PotterShoppingCartItem()
            {
                Volumn   = HarryPotter.VOL_2,
                Quantity = 1
            };
            var shoppingCartItem3 = new PotterShoppingCartItem()
            {
                Volumn   = HarryPotter.VOL_3,
                Quantity = 1
            };
            var expectedCost = 270;

            //act
            int actualCost;

            target.AddToCart(shoppingCartItem1);
            target.AddToCart(shoppingCartItem2);
            target.AddToCart(shoppingCartItem3);
            actualCost = target.CheckOut();

            //assert
            Assert.AreEqual(expectedCost, actualCost);
        }
        public void 第一集買了一本_第二集也買了一本_價格應為190元()
        {
            //arrange
            var target = new PotterShoppingCart();

            //act
            target.AddToCart(
                new Book
            {
                ISBN  = "9789573317241",
                Name  = "哈利波特1",
                Price = 100
            }
                );
            target.AddToCart(
                new Book
            {
                ISBN  = "9789573317586",
                Name  = "哈利波特2",
                Price = 100
            }
                );

            var totalPrice = target.CheckOut();

            //assert
            var expected = 190;

            Assert.AreEqual(expected, totalPrice);
        }
        public void 第一集買了一本_第二三集各買了兩本_價格應為460元()
        {
            //arrange
            var target = new PotterShoppingCart();

            //act
            target.AddToCart(
                new Book
            {
                ISBN  = "9573317249",
                Name  = "哈利波特1",
                Price = 100
            }
                );
            target.AddToCart(
                new Book
            {
                ISBN  = "9573317583",
                Name  = "哈利波特2",
                Price = 100
            }
                );
            target.AddToCart(
                new Book
            {
                ISBN  = "9573317583",
                Name  = "哈利波特2",
                Price = 100
            }
                );
            target.AddToCart(
                new Book
            {
                ISBN  = "9573318008",
                Name  = "哈利波特3",
                Price = 100
            }
                );

            target.AddToCart(
                new Book
            {
                ISBN  = "9573318008",
                Name  = "哈利波特3",
                Price = 100
            }
                );


            var totalPrice = target.CheckOut();

            //assert
            var expected = 460;

            Assert.AreEqual(expected, totalPrice);
        }
        public void 一次買了整套_一二三四五集各買了一本_價格應為375元()
        {
            //arrange
            var target = new PotterShoppingCart();

            //act
            target.AddToCart(
                new Book
            {
                ISBN  = "9573317249",
                Name  = "哈利波特1",
                Price = 100
            }
                );
            target.AddToCart(
                new Book
            {
                ISBN  = "9573317583",
                Name  = "哈利波特2",
                Price = 100
            }
                );
            target.AddToCart(
                new Book
            {
                ISBN  = "9573318008",
                Name  = "哈利波特3",
                Price = 100
            }
                );

            target.AddToCart(
                new Book
            {
                ISBN  = "9573318318",
                Name  = "哈利波特4",
                Price = 100
            }
                );

            target.AddToCart(
                new Book
            {
                ISBN  = "9573319861",
                Name  = "哈利波特5",
                Price = 100
            }
                );

            var totalPrice = target.CheckOut();

            //assert
            var expected = 375;

            Assert.AreEqual(expected, totalPrice);
        }
예제 #5
0
        public void Buy_1_First_Vol_Cost_100()
        {
            //arrange
            var target           = new PotterShoppingCart();
            var shoppingCartItem = new PotterShoppingCartItem()
            {
                Volumn   = HarryPotter.VOL_1,
                Quantity = 1
            };
            var expectedCost = 100;

            //act
            int actualCost;

            target.AddToCart(shoppingCartItem);
            actualCost = target.CheckOut();

            //assert
            Assert.AreEqual(expectedCost, actualCost);
        }