public void TestShoppingCart_第一集買一本_第二集也買一本_價格應為190元()
        {
            //Scenario: 第一集買了一本,第二集也買了一本,價格應為100*2*0.95=190
            //    Given 第一集買了 1 本
            //    And 第二集買了 1 本
            //    And 第三集買了 0 本
            //    And 第四集買了 0 本
            //    And 第五集買了 0 本
            //    When 結帳
            //    Then 價格應為 190 元

            //arrange
            var target = new ShoppingCart();

            target.AddBooks(new Book {
                Name = "哈利波特第一集"
            });
            target.AddBooks(new Book {
                Name = "哈利波特第二集"
            });

            var expected = 190;

            //act
            target.Checkout();

            //assert
            Assert.AreEqual(expected, target.TotalAmount);
        }
Example #2
0
        public void 第一二三四五集各買一本_價格應為375元()
        {
            List <Book> order = new List <Book>()
            {
                new Book {
                    Episode = 1
                },
                new Book {
                    Episode = 2
                },
                new Book {
                    Episode = 3
                },
                new Book {
                    Episode = 4
                },
                new Book {
                    Episode = 5
                }
            };

            var target   = new ShoppingCart();
            var expected = 375;
            var actual   = target.Checkout(order);

            Assert.AreEqual(expected, actual);
        }
        public void TestShoppingCart_一二集各買一本_第三集買了兩本_價格應為370元()
        {
            //Scenario: 一二集各買了一本,第三集買了兩本,價格應為100*3*0.9 + 100 = 370
            //    Given 第一集買了 1 本
            //    And 第二集買了 1 本
            //    And 第三集買了 2 本
            //    And 第四集買了 0 本
            //    And 第五集買了 0 本
            //    When 結帳
            //    Then 價格應為 370 元

            //arrange
            var target = new ShoppingCart();

            target.AddBooks(new Book {
                Name = "哈利波特第一集"
            });
            target.AddBooks(new Book {
                Name = "哈利波特第二集"
            });
            target.AddBooks(new Book {
                Name = "哈利波特第三集"
            }, 2);

            var expected = 370;

            //act
            target.Checkout();

            //assert
            Assert.AreEqual(expected, target.TotalAmount);
        }
        public void TestShoppingCart_一二三四五集各買了一本_價格應為375元()
        {
            //Scenario: 一次買了整套,一二三四五集各買了一本,價格應為100*5*0.75=375
            //    Given 第一集買了 1 本
            //    And 第二集買了 1 本
            //    And 第三集買了 1 本
            //    And 第四集買了 1 本
            //    And 第五集買了 1 本
            //    When 結帳
            //    Then 價格應為 375 元

            //arrange
            var target = new ShoppingCart();
            target.AddBooks(new Book { Name = "哈利波特第一集" });
            target.AddBooks(new Book { Name = "哈利波特第二集" });
            target.AddBooks(new Book { Name = "哈利波特第三集" });
            target.AddBooks(new Book { Name = "哈利波特第四集" });
            target.AddBooks(new Book { Name = "哈利波特第五集" });

            var expected = 375;

            //act
            target.Checkout();

            //assert
            Assert.AreEqual(expected, target.TotalAmount);
        }
Example #5
0
        public void 第一集買一本_價格應為100元()
        {
            List <Book> order = new List <Book>()
            {
                new Book {
                    Episode = 1
                }
            };

            var target   = new ShoppingCart();
            var expected = 100;
            var actual   = target.Checkout(order);

            Assert.AreEqual(expected, actual);
        }
        public void TestShoppingCart_一二三四五集各買了一本_價格應為375元()
        {
            //Scenario: 一次買了整套,一二三四五集各買了一本,價格應為100*5*0.75=375
            //    Given 第一集買了 1 本
            //    And 第二集買了 1 本
            //    And 第三集買了 1 本
            //    And 第四集買了 1 本
            //    And 第五集買了 1 本
            //    When 結帳
            //    Then 價格應為 375 元

            //arrange
            var target = new ShoppingCart();

            target.AddBooks(new Book {
                Name = "哈利波特第一集"
            });
            target.AddBooks(new Book {
                Name = "哈利波特第二集"
            });
            target.AddBooks(new Book {
                Name = "哈利波特第三集"
            });
            target.AddBooks(new Book {
                Name = "哈利波特第四集"
            });
            target.AddBooks(new Book {
                Name = "哈利波特第五集"
            });

            var expected = 375;

            //act
            target.Checkout();

            //assert
            Assert.AreEqual(expected, target.TotalAmount);
        }
        public void TestShoppingCart_第一集買一本_第二集也買一本_價格應為190元()
        {
            //Scenario: 第一集買了一本,第二集也買了一本,價格應為100*2*0.95=190
            //    Given 第一集買了 1 本
            //    And 第二集買了 1 本
            //    And 第三集買了 0 本
            //    And 第四集買了 0 本
            //    And 第五集買了 0 本
            //    When 結帳
            //    Then 價格應為 190 元

            //arrange
            var target = new ShoppingCart();
            target.AddBooks(new Book { Name = "哈利波特第一集" });
            target.AddBooks(new Book { Name = "哈利波特第二集" });

            var expected = 190;

            //act
            target.Checkout();

            //assert
            Assert.AreEqual(expected, target.TotalAmount);
        }
        public void TestShoppingCart_一二集各買一本_第三集買了兩本_價格應為370元()
        {
            //Scenario: 一二集各買了一本,第三集買了兩本,價格應為100*3*0.9 + 100 = 370
            //    Given 第一集買了 1 本
            //    And 第二集買了 1 本
            //    And 第三集買了 2 本
            //    And 第四集買了 0 本
            //    And 第五集買了 0 本
            //    When 結帳
            //    Then 價格應為 370 元

            //arrange
            var target = new ShoppingCart();
            target.AddBooks(new Book { Name = "哈利波特第一集" });
            target.AddBooks(new Book { Name = "哈利波特第二集" });
            target.AddBooks(new Book { Name = "哈利波特第三集" }, 2);

            var expected = 370;

            //act
            target.Checkout();

            //assert
            Assert.AreEqual(expected, target.TotalAmount);
        }