public void AddNegativeFuel_ShouldBeRejected()
        {
            ConsumptionCalculator calculator = new ConsumptionCalculator();

            calculator.Add(5.2f, -12.1f);
            Assert.AreEqual(0, calculator.Consumptions.Count);
        }
        public void CalculateAverageWithoutData_ShouldBeZero()
        {
            ConsumptionCalculator calculator = new ConsumptionCalculator();

            calculator.CalculateAverage();
            Assert.AreEqual(0.0f, calculator.Average);
        }
        public void AddCorrectData_ShouldBeAdded()
        {
            ConsumptionCalculator calculator = new ConsumptionCalculator();

            calculator.Add(120.0f, 8.9f);
            Assert.AreEqual(1, calculator.Consumptions.Count);
        }
        public void CalculateAverageWithOneData_ShouldBeCorrect()
        {
            ConsumptionCalculator calculator = new ConsumptionCalculator();

            calculator.Add(120.5f, 9.8f);
            calculator.CalculateAverage();
            Assert.AreEqual(8.13f, calculator.Average);
        }
        public void RemoveCorrectItem_ShouldBeRemoved()
        {
            ConsumptionCalculator calculator = new ConsumptionCalculator();

            calculator.Add(120.5f, 9.8f);
            calculator.Delete(calculator.Consumptions[0]);
            Assert.AreEqual(0, calculator.Consumptions.Count);
        }
コード例 #6
0
        public void Should_ThrowNullExecption_When_device_is_null()
        {
            var gazMock = new Mock <IGasKind>();

            gazMock.Setup(p => p.GasConsumptionCoefficient).Returns(1);
            var gaz = gazMock.Object;

            Assert.Throws <NullReferenceException>(() => ConsumptionCalculator.GetAverageCoefficient(null, gaz));
        }
        public void CalculateAverageWithManyData_ShouldBeCorrect()
        {
            ConsumptionCalculator calculator = new ConsumptionCalculator();

            for (int i = 1; i < 1000; i++)
            {
                calculator.Add(120.5f * i, 9.8f * i);
            }
            calculator.CalculateAverage();
            Assert.AreEqual(8.13f, calculator.Average);
        }
        public void RemoveIncorrectItem_ShouldBeHandled()
        {
            Consumption consumption = new Consumption()
            {
                Distance = 120.5f, Fuel = 9.8f
            };
            ConsumptionCalculator calculator = new ConsumptionCalculator();

            calculator.Add(120.5f, 9.8f);
            calculator.Delete(consumption);
            Assert.AreEqual(1, calculator.Consumptions.Count);
        }
コード例 #9
0
        public void CalculateFeeTest()
        {
            string wendyJson                = Resource.GetResourceAsString("Wendy.json");
            var    invoiceHistory           = JsonUtil.DeserializeJson <Model.InvoiceHistory>(wendyJson);
            var    invoiceHistoryForAsserts = JsonUtil.DeserializeJson <Model.InvoiceHistory>(wendyJson);

            var consumptionCalc = new ConsumptionCalculator(invoiceHistory);
            var feeCalc         = new FeeCalculator(invoiceHistory);

            consumptionCalc.CalculateConsumption();

            {
                int invoiceId = 0;  // balanced
                feeCalc.CalculateFee(invoiceId);
                AssertInvoicesFee(invoiceHistoryForAsserts.Invoices.GetInvoiceById(invoiceId), invoiceHistory.Invoices.GetInvoiceById(invoiceId));
            }

            {
                int invoiceId = 14; // estimated
                feeCalc.CalculateFee(invoiceId);
                AssertInvoicesFee(invoiceHistoryForAsserts.Invoices.GetInvoiceById(invoiceId), invoiceHistory.Invoices.GetInvoiceById(invoiceId));
            }

            {
                int invoiceId = 15; // estimated
                feeCalc.CalculateFee(invoiceId);
                AssertInvoicesFee(invoiceHistoryForAsserts.Invoices.GetInvoiceById(invoiceId), invoiceHistory.Invoices.GetInvoiceById(invoiceId));
            }

            {
                int invoiceId = 16; // estimated
                feeCalc.CalculateFee(invoiceId);
                AssertInvoicesFee(invoiceHistoryForAsserts.Invoices.GetInvoiceById(invoiceId), invoiceHistory.Invoices.GetInvoiceById(invoiceId));
            }

            {
                int invoiceId = 17; // balanced
                feeCalc.CalculateFee(invoiceId);
                AssertInvoicesFee(invoiceHistoryForAsserts.Invoices.GetInvoiceById(invoiceId), invoiceHistory.Invoices.GetInvoiceById(invoiceId));
            }
        }
コード例 #10
0
        public void CalculateConsumptionTest()
        {
            string wendyJson      = Resource.GetResourceAsString("Wendy.json");
            var    invoiceHistory = JsonUtil.DeserializeJson <Model.InvoiceHistory>(wendyJson);

            var consumptionCalc = new ConsumptionCalculator(invoiceHistory);

            Assert.AreEqual(76U, consumptionCalc.CalculateConsumption(0));
            Assert.AreEqual(76U, invoiceHistory.Invoices.GetInvoiceById(0).GetConsumption().Estimated);
            Assert.AreEqual(76U, invoiceHistory.Invoices.GetInvoiceById(0).GetConsumption().Real);
            Assert.AreEqual(48U, invoiceHistory.Invoices.GetInvoiceById(0).UserInvoices.GetInvoiceByOwner("Apartment A").GetConsumption().Estimated);
            Assert.AreEqual(48U, invoiceHistory.Invoices.GetInvoiceById(0).UserInvoices.GetInvoiceByOwner("Apartment A").GetConsumption().Real);
            Assert.AreEqual(28U, invoiceHistory.Invoices.GetInvoiceById(0).UserInvoices.GetInvoiceByOwner("Apartment B").GetConsumption().Estimated);
            Assert.AreEqual(28U, invoiceHistory.Invoices.GetInvoiceById(0).UserInvoices.GetInvoiceByOwner("Apartment B").GetConsumption().Real);

            Assert.AreEqual(15U, consumptionCalc.CalculateConsumption(1));
            Assert.AreEqual(18U, invoiceHistory.Invoices.GetInvoiceById(1).GetConsumption().Estimated);
            Assert.AreEqual(15U, invoiceHistory.Invoices.GetInvoiceById(1).GetConsumption().Real);
            Assert.AreEqual(11U, invoiceHistory.Invoices.GetInvoiceById(1).UserInvoices.GetInvoiceByOwner("Apartment A").GetConsumption().Estimated);
            Assert.AreEqual(9U, invoiceHistory.Invoices.GetInvoiceById(1).UserInvoices.GetInvoiceByOwner("Apartment A").GetConsumption().Real);
            Assert.AreEqual(7U, invoiceHistory.Invoices.GetInvoiceById(1).UserInvoices.GetInvoiceByOwner("Apartment B").GetConsumption().Estimated);
            Assert.AreEqual(6U, invoiceHistory.Invoices.GetInvoiceById(1).UserInvoices.GetInvoiceByOwner("Apartment B").GetConsumption().Real);

            Assert.AreEqual(49U, consumptionCalc.CalculateConsumption(6));
            Assert.AreEqual(74U, invoiceHistory.Invoices.GetInvoiceById(6).GetConsumption().Estimated);
            Assert.AreEqual(49U, invoiceHistory.Invoices.GetInvoiceById(6).GetConsumption().Real);
            Assert.AreEqual(42U, invoiceHistory.Invoices.GetInvoiceById(6).UserInvoices.GetInvoiceByOwner("Apartment A").GetConsumption().Estimated);
            Assert.AreEqual(28U, invoiceHistory.Invoices.GetInvoiceById(6).UserInvoices.GetInvoiceByOwner("Apartment A").GetConsumption().Real);
            Assert.AreEqual(32U, invoiceHistory.Invoices.GetInvoiceById(6).UserInvoices.GetInvoiceByOwner("Apartment B").GetConsumption().Estimated);
            Assert.AreEqual(21U, invoiceHistory.Invoices.GetInvoiceById(6).UserInvoices.GetInvoiceByOwner("Apartment B").GetConsumption().Real);

            Assert.AreEqual(75U, consumptionCalc.CalculateConsumption(8), "consumption for whole year from prev balanced invoice (0)");
            Assert.AreEqual(75U, invoiceHistory.Invoices.GetInvoiceById(8).GetConsumption().Estimated);
            Assert.AreEqual(75U, invoiceHistory.Invoices.GetInvoiceById(8).GetConsumption().Real);
            Assert.AreEqual(43U, invoiceHistory.Invoices.GetInvoiceById(8).UserInvoices.GetInvoiceByOwner("Apartment A").GetConsumption().Estimated);
            Assert.AreEqual(43U, invoiceHistory.Invoices.GetInvoiceById(8).UserInvoices.GetInvoiceByOwner("Apartment A").GetConsumption().Real);
            Assert.AreEqual(32U, invoiceHistory.Invoices.GetInvoiceById(8).UserInvoices.GetInvoiceByOwner("Apartment B").GetConsumption().Estimated);
            Assert.AreEqual(32U, invoiceHistory.Invoices.GetInvoiceById(8).UserInvoices.GetInvoiceByOwner("Apartment B").GetConsumption().Real);
        }
        public void CreateInstance_ShouldHaveNoItems()
        {
            ConsumptionCalculator calculator = new ConsumptionCalculator();

            Assert.AreEqual(0, calculator.Consumptions.Count);
        }
コード例 #12
0
 public void Should_ThrowInvalidParametersException_When_Device_is_null_In_Average()
 {
     Assert.Throws <NullReferenceException>(() => ConsumptionCalculator.GetAverageConsumption(null, null, 1000));
 }
コード例 #13
0
 public void Should_ThrowInvalidParametersException_When_Device_is_null_In_Starting()
 {
     Assert.Throws <NullReferenceException>(() => ConsumptionCalculator.GetStartingConsumption(null, null));
 }
コード例 #14
0
 public MainViewModel()
 {
     Calculator = new ConsumptionCalculator();
     CmdAdd     = new RelayCommand(() => Calculator.Add(Distance, Fuel));
 }