public void OneDiscountAboveOnePound()
        {
            var formatter = new PriceFormatter();
            var output    = formatter.Format(new Price(10.00m, new[] { new Discount("Test discount", 1.00m, 1) }));

            output.Should().BeEquivalentTo(new[] {
                "Subtotal: £10.00",
                "Test discount: -£1.00",
                "Total price: £9.00"
            });
        }
        public void NoDiscountsBelowOnePound()
        {
            var formatter = new PriceFormatter();
            var output    = formatter.Format(new Price(0.66m));

            output.Should().BeEquivalentTo(new[] {
                "Subtotal: 66p",
                "(No offers available)",
                "Total price: 66p"
            });
        }
        public void OneDiscountBelowOnePound()
        {
            var formatter = new PriceFormatter();
            var output    = formatter.Format(new Price(1.00m, new[] { new Discount("Test discount", 0.01m, 1) }));

            output.Should().BeEquivalentTo(new[] {
                "Subtotal: £1.00",
                "Test discount: -1p",
                "Total price: 99p"
            });
        }
        public void NoDiscountsAboveOnePound()
        {
            var formatter = new PriceFormatter();
            var output    = formatter.Format(new Price(2.00m));

            output.Should().BeEquivalentTo(new[] {
                "Subtotal: £2.00",
                "(No offers available)",
                "Total price: £2.00"
            });
        }
        public void ManyDiscounts()
        {
            var formatter = new PriceFormatter();
            var output    = formatter.Format(new Price(10.00m, new[] { new Discount("Test discount1", 1.00m, 2), new Discount("Test discount2", 0.50m, 1) }));

            output.Should().BeEquivalentTo(new[] {
                "Subtotal: £10.00",
                "Test discount1: -£1.00",
                "Test discount1: -£1.00",
                "Test discount2: -50p",
                "Total price: £7.50"
            });
        }