public void CanIChangeMyMoney() { BanknoteHandler TwoHundred = new TwoHundredBanknote(); BanknoteHandler Hundred = new HundredBanknote(); BanknoteHandler Fifty = new FiftyBanknote(); BanknoteHandler Twenty = new TwentyBanknote(); BanknoteHandler Ten = new TenBanknote(); BanknoteHandler Five = new FiveBanknote(); BanknoteHandler One = new OneBanknote(); BanknoteHandler PennyFifty = new FiftyPenny(); BanknoteHandler PennyTwentyFive = new TwentyFivePenny(); BanknoteHandler PennyTen = new TenPenny(); BanknoteHandler PennyFive = new FivePenny(); BanknoteHandler PennyOne = new OnePenny(); TwoHundred.AssignNextChain(Hundred); Hundred.AssignNextChain(Fifty); Fifty.AssignNextChain(Twenty); Twenty.AssignNextChain(Ten); Ten.AssignNextChain(Five); Five.AssignNextChain(One); One.AssignNextChain(PennyFifty); PennyFifty.AssignNextChain(PennyTwentyFive); PennyTwentyFive.AssignNextChain(PennyTen); PennyTen.AssignNextChain(PennyFive); PennyFive.AssignNextChain(PennyOne); var AnaPara = 146.5M; var Money = new Money() { Amount = AnaPara }; TwoHundred.Change(Money); var stringBuilder = new StringBuilder(); foreach (var item in Money.ChangedList) { stringBuilder.Append($"{item.Piece}x{item.ValueOfBanknote} "); } var Expected = "1x100 2x20 1x5 1x1 1x0,50 "; Assert.AreEqual(Expected, stringBuilder.ToString()); }
private static void Main(string[] args) { BanknoteHandler TwoHundred = new TwoHundredBanknote(); BanknoteHandler Hundred = new HundredBanknote(); BanknoteHandler Fifty = new FiftyBanknote(); BanknoteHandler Twenty = new TwentyBanknote(); BanknoteHandler Ten = new TenBanknote(); BanknoteHandler Five = new FiveBanknote(); BanknoteHandler One = new OneBanknote(); BanknoteHandler PennyFifty = new FiftyPenny(); BanknoteHandler PennyTwentyFive = new TwentyFivePenny(); BanknoteHandler PennyTen = new TenPenny(); BanknoteHandler PennyFive = new FivePenny(); BanknoteHandler PennyOne = new OnePenny(); TwoHundred.AssignNextChain(Hundred); Hundred.AssignNextChain(Fifty); Fifty.AssignNextChain(Twenty); Twenty.AssignNextChain(Ten); Ten.AssignNextChain(Five); Five.AssignNextChain(One); One.AssignNextChain(PennyFifty); PennyFifty.AssignNextChain(PennyTwentyFive); PennyTwentyFive.AssignNextChain(PennyTen); PennyTen.AssignNextChain(PennyFive); PennyFive.AssignNextChain(PennyOne); var Anapara = 300; var Money = new Money() { Amount = Anapara, }; TwoHundred.Change(Money); Console.WriteLine($"Anapara........: {Anapara}"); foreach (var banknote in Money.ChangedList) { Console.WriteLine($"{banknote.Piece}x{banknote.ValueOfBanknote}"); } Console.ReadLine(); }