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 第一二三四五集各買一本_價格應為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); }
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); }