public void ShouldCalculateCostForMeterReadingsForEveryPricePlan()
        {
            var electricityReading = new ElectricityReading()
            {
                Time = DateTime.Now.AddHours(-1), Reading = 15.0m
            };
            var otherReading = new ElectricityReading()
            {
                Time = DateTime.Now, Reading = 5.0m
            };

            meterReadingService.StoreReadings(SMART_METER_ID, new List <ElectricityReading>()
            {
                electricityReading, otherReading
            });

            var result = controller.CalculatedCostForEachPricePlan(SMART_METER_ID).Value;

            var actualCosts = ((JObject)result).ToObject <Dictionary <string, decimal> >();

            Assert.Equal(3, actualCosts.Count);
            Assert.Equal(100m, actualCosts["" + Supplier.DrEvilsDarkEnergy], 3);
            Assert.Equal(20m, actualCosts["" + Supplier.TheGreenEco], 3);
            Assert.Equal(10m, actualCosts["" + Supplier.PowerForEveryone], 3);
        }
        public void GivenMeterReadingThatExistsShouldReturnMeterReadings()
        {
            meterReadingService.StoreReadings(SMART_METER_ID, new List <ElectricityReading>()
            {
                new ElectricityReading()
                {
                    Time = DateTime.Now, Reading = 25m
                }
            });

            var electricityReadings = meterReadingService.GetReadings(SMART_METER_ID);

            Assert.Equal(3, electricityReadings.Count);
        }
Beispiel #3
0
        public void ShouldCalculateCostForMeterReadingsForEveryPricePlan()
        {
            var electricityReading = new ElectricityReading()
            {
                Time = DateTime.Now.AddHours(-1), Reading = 15.0m
            };
            var otherReading = new ElectricityReading()
            {
                Time = DateTime.Now, Reading = 5.0m
            };

            meterReadingService.StoreReadings(SMART_METER_ID, new List <ElectricityReading>()
            {
                electricityReading, otherReading
            });

            Dictionary <string, decimal> result = controller.CalculatedCostForEachPricePlan(SMART_METER_ID).Value as Dictionary <string, decimal>;

            Assert.NotNull(result);
            Assert.Equal(3, result.Count);
            Assert.Equal(100m, result[Supplier.DrEvilsDarkEnergy.ToString()], 3);
            Assert.Equal(20m, result[Supplier.TheGreenEco.ToString()], 3);
            Assert.Equal(10m, result[Supplier.PowerForEveryone.ToString()], 3);
        }
        public MeterReadingServiceTest()
        {
            meterReadingService = new MeterReadingService(new Dictionary <string, List <ElectricityReading> >());

            meterReadingService.StoreReadings(SMART_METER_ID, new List <ElectricityReading>()
            {
                new ElectricityReading()
                {
                    Time = DateTime.Now.AddMinutes(-30), Reading = 35m
                },
                new ElectricityReading()
                {
                    Time = DateTime.Now.AddMinutes(-15), Reading = 30m
                }
            });
        }
Beispiel #5
0
 public void GivenMeterReadingThatExistsShouldReturnMeterReadings()
 {
     meterReadingService.StoreReadings("random-id", new List <ElectricityReading>());
     Assert.Equal(new List <ElectricityReading>(), meterReadingService.GetReadings("random-id"));
 }