Beispiel #1
0
        public void FindChequesCanReturnTheValidCheques(int[] amounts, Cheque[] expected)
        {
            var sut    = new CheckCalc();
            var result = sut.FindCheques(amounts);

            result.Should().BeEquivalentTo(expected);
        }
Beispiel #2
0
        static void Main(string[] args)
        {
            var calc = new CheckCalc();
            var n1   = AskAmount(1);
            var n2   = AskAmount(2);
            var n3   = AskAmount(3);
            var n4   = AskAmount(4);

            var chqs = calc.FindCheques(new int[] { n1, n2, n3, n4 });

            if (chqs.Length == 0)
            {
                Console.WriteLine("Can't find 3 cheques for all those amounts.");
            }
            else
            {
                Console.WriteLine("You should write the following cheques");
                foreach (var chq in chqs)
                {
                    Console.WriteLine("{0} ${1}", chq.Name, chq.Amount);
                }
                WriteChequesPayFor(n1, calc.CanPayCheque(n1, chqs).Cheques);
                WriteChequesPayFor(n2, calc.CanPayCheque(n2, chqs).Cheques);
                WriteChequesPayFor(n3, calc.CanPayCheque(n3, chqs).Cheques);
                WriteChequesPayFor(n4, calc.CanPayCheque(n4, chqs).Cheques);
            }
        }
Beispiel #3
0
        public void CanPayCheckReturnThePayableSolution(int amount, Cheque[] cheques, ChequeSolution expected)
        {
            var sut    = new CheckCalc();
            var result = sut.CanPayCheque(amount, cheques);

            Assert.Equal(expected.Payable, result.Payable);
            result.Cheques.Should().BeEquivalentTo(expected.Cheques);
        }