public void GetDiscount_throws_null_argument_exception_when_passed_null_object()
        {
            // Arrrange
            var offer = new FreeMilkOffer();

            // Assert
            Assert.Throws <ArgumentNullException>(() => offer.GetDiscount(null));
        }
        public void GetDiscount_returns_correct_dicscount_amount(int milkCount, decimal expected)
        {
            // Arrange
            var offer = new FreeMilkOffer();
            var items = new List <IProduct>();

            for (int i = 0; i < milkCount; i++)
            {
                items.Add(new Milk());
            }

            // Act
            var result = offer.GetDiscount(items);

            // Assert
            Assert.Equal(expected, result);
        }