public void 自動販売機クラスのコンストラクタのテスト() { //初期状態でコーラを5本格納している var vendingMachine = new VendingMachine(); Assert.AreEqual(5, vendingMachine.GetStock(Juice.Cola)); }
public void VendingMachineのシナリオテスト() { //在庫を追加 var vm = new VendingMachine(); vm.AddStock(Juice.RedBull, 5); vm.AddStock(Juice.Water, 5); //購入 Assert.AreEqual(0, vm.Deposit); CollectionAssert.IsEmpty(vm.CommodityTray); Assert.AreEqual(0, vm.ChangeTray); //お金を投入する vm.InsertMoney(100); vm.InsertMoney(100); vm.InsertMoney(10); vm.InsertMoney(10); vm.InsertMoney(10); vm.InsertMoney(1); vm.InsertMoney(5); Assert.AreEqual(230, vm.Deposit); Assert.AreEqual(6, vm.ChangeTray); //購入 vm.Purchase(Juice.Cola); Assert.AreEqual(110, vm.Deposit); CollectionAssert.AreEqual( new List<Juice>() { Juice.Cola, }, vm.CommodityTray ); Assert.AreEqual(6, vm.ChangeTray); vm.Purchase(Juice.RedBull); //残金110円では購入不可 Assert.AreEqual(110, vm.Deposit); CollectionAssert.AreEqual( new List<Juice>() { Juice.Cola, }, vm.CommodityTray ); Assert.AreEqual(6, vm.ChangeTray); vm.Purchase(Juice.Water); Assert.AreEqual(10, vm.Deposit); CollectionAssert.AreEqual( new List<Juice>() { Juice.Cola, Juice.Water, }, vm.CommodityTray ); Assert.AreEqual(6, vm.ChangeTray); //返金 vm.ReturnChange(); Assert.AreEqual(0, vm.Deposit); CollectionAssert.AreEqual( new List<Juice>() { Juice.Cola, Juice.Water, }, vm.CommodityTray ); Assert.AreEqual(16, vm.ChangeTray); //購入後の状態 Assert.AreEqual(4, vm.GetStock(Juice.Cola)); Assert.AreEqual(5, vm.GetStock(Juice.RedBull)); Assert.AreEqual(4, vm.GetStock(Juice.Water)); Assert.AreEqual(220, vm.Proceeds); }