public void 複数の投入金額を正当に判定できる(MoneyKind kind1, MoneyKind kind2, int money) { _sut.InsertMoney(new Money(kind1)); _sut.InsertMoney(new Money(kind2)); _sut.TotalAmount.Is(money); }
public void 複数の投入金額を正当に判定できる(MoneyKind kind1, MoneyKind kind2, int money) { _sut.InsertMoney(new Money(kind1)); _sut.InsertMoney(new Money(kind2)); _sut.TotalAmount.Is(money); }
/// <summary> /// コインメックにお金を追加する /// </summary> /// <param name="kind"></param> public void Add(MoneyKind kind) { // 1円、5円、2000円、5000円、10000円は受け付けない // これは業務ルール if (kind == MoneyKind.ONE) { return; } if (kind == MoneyKind.FIVE) { return; } if (kind == MoneyKind.TWO_THOUSAND) { return; } if (kind == MoneyKind.FIVE_THOUSAND) { return; } if (kind == MoneyKind.TEN_THOUSAND) { return; } // 貨幣在庫にお金を保管する coinStrage.Stock(kind); // 入れた貨幣の金額をキャッシュする cache.Add(kind.GetPrice()); }
/// <summary> /// お釣りに追加する /// </summary> /// <param name="kind"></param> /// <param name="amount"></param> public void Add(MoneyKind kind, int amount = 1) { for (int i = 0; i < amount; i++) { moneys.Add(kind); } }
public void お金種別の取り扱い可否を判定テスト(MoneyKind.Kind kind,bool expected) { var target = new Jihanki.Cashier.HandingMoney(); var yen = new Money(kind); var actual = target.IsHandling(yen); Assert.AreEqual(expected, actual); }
public void ドリンクが購入可能か判定テスト(MoneyKind.Kind kind,int num,bool expected) { //お金を投入 var money = new Money(kind); money.Add(num); this.target.ReceiptMoney(money); var actual = this.target.IsBuy(); Assert.AreEqual(expected, actual); }
public void 金額を投入してジュースを購入するとジュースの金額分を除いた払い戻しが行われる( MoneyKind moneyKind, string drinkName, int payBack) { _sut.SelectedMoney = moneyKind; _sut.InsertMoney(); _sut.TotalMoneyAmount.Is(new Money(moneyKind).Amount); _sut.BuyDrink(drinkName); _sut.TotalMoneyAmount.Is(payBack); _sut.MoneyBacked += (s, e) => e.BackedMoneyList.Sum(m => m.Amount).Is(payBack); _sut.PayBack(); }
public void 金額を投入してジュースを購入するとジュースの金額分を除いた払い戻しが行われる( MoneyKind moneyKind, string drinkName, int payBack) { _sut.SelectedMoney = moneyKind; _sut.InsertMoney(); _sut.TotalMoneyAmount.Is(new Money(moneyKind).Amount); _sut.BuyDrink(drinkName); _sut.TotalMoneyAmount.Is(payBack); _sut.MoneyBacked += (s, e) => e.BackedMoneyList.Sum(m => m.Amount).Is(payBack); _sut.PayBack(); }
public Money(MoneyKind kind) { Kind = kind; switch (kind) { case MoneyKind.Yen1: Amount = 1; break; case MoneyKind.Yen5: Amount = 5; break; case MoneyKind.Yen10: Amount = 10; break; case MoneyKind.Yen50: Amount = 50; break; case MoneyKind.Yen100: Amount = 100; break; case MoneyKind.Yen500: Amount = 500; break; case MoneyKind.Yen1000: Amount = 1000; break; case MoneyKind.Yen5000: Amount = 5000; break; case MoneyKind.Yen10000: Amount = 10000; break; default: throw new ArgumentOutOfRangeException("kind"); } }
public Money(MoneyKind kind) { Kind = kind; switch (kind) { case MoneyKind.Yen1: Amount = 1; break; case MoneyKind.Yen5: Amount = 5; break; case MoneyKind.Yen10: Amount = 10; break; case MoneyKind.Yen50: Amount = 50; break; case MoneyKind.Yen100: Amount = 100; break; case MoneyKind.Yen500: Amount = 500; break; case MoneyKind.Yen1000: Amount = 1000; break; case MoneyKind.Yen5000: Amount = 5000; break; case MoneyKind.Yen10000: Amount = 10000; break; default: throw new ArgumentOutOfRangeException("kind"); } }
public void 投入金額が正当に判定できる(MoneyKind kind, int money) { _sut.InsertMoney(new Money(kind)); _sut.TotalAmount.Is(money); }
public MoneyStockInfo(MoneyKind kind, int count) { Kind = kind; Count = count; }
public int Count(MoneyKind kind) { return(stocker[kind].Count()); }
public Money(MoneyKind.Kind kind) { this.kind = kind; }
/// <summary> /// 入金する /// </summary> /// <param name="kind"></param> public void PutMoney(MoneyKind kind) { coinMech.Add(kind); }
/// <summary> /// 列挙体の要素の数を返します。MAXとか自前で用意していないときに便利 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="enumerator"></param> /// <returns></returns> public static int Count(this MoneyKind enumerator) { string[] names = Enum.GetNames(enumerator.GetType()); return(names.Count()); }
public MoneyStockInfo(MoneyKind kind, int count) { Kind = kind; Count = count; }
/// <summary> /// 指定した種類のお金があるか /// </summary> /// <param name="kind"></param> /// <returns></returns> public bool IsStock(MoneyKind kind, int count = 1) { return(stocker[kind].Count() >= count); }
public void 投入金額が正当に判定できる(MoneyKind kind, int money) { _sut.InsertMoney(new Money(kind)); _sut.TotalAmount.Is(money); }
/// <summary> /// 指定した金額をストックする /// </summary> /// <param name="kind"></param> public void Stock(MoneyKind kind, int amount = 1) { stocker[kind].Add(amount); }
public void 金額種別ごとの合計金額計算(MoneyKind.Kind kind,int addCount,int sum) { var target = new Jihanki.Cashier.Base.Money(kind); target.Add(addCount); Assert.AreEqual(target.Sum(), sum); }