public void TarifComparisson_InvalidConsumption_MustRaiseError(int consumption)
        {
            TariffComparisson c = new TariffComparisson(GetProducts());

            Assert.That(() => c.CompareProducts(consumption),
                        Throws.TypeOf <ArgumentOutOfRangeException>());
        }
        public void TariffComparisson_Compare_OrderIsCorrect(int consumption, string expectedNameOfCheapestProduct)
        {
            TariffComparisson c = new TariffComparisson(GetProducts());
            var sortedProducts  = c.CompareProducts(consumption);

            string nameOfCheapestProduct = sortedProducts.First().Name;

            Assert.AreEqual(nameOfCheapestProduct, expectedNameOfCheapestProduct);
        }
        public void TarifComparisson_NoProducts_MustRaiseError(int consumption)
        {
            List <IProduct>   emptyList = new List <IProduct>();
            TariffComparisson c         = new TariffComparisson(emptyList);

            Assert.That(() => c.CompareProducts(consumption),
                        Throws.TypeOf <ArgumentException>());

            c = new TariffComparisson(null);
            Assert.That(() => c.CompareProducts(consumption),
                        Throws.TypeOf <ArgumentNullException>());
        }