Ejemplo n.º 1
0
        public void ShouldCalcTheCorrectTotals(
            int quantity,
            decimal powerConsumption,
            AUSchedule aUSchedule,
            decimal expTotalPowerConsumption,
            decimal expTotalOnSolarEnergyConsumption,
            decimal expTotalOffSolarEnergyConsumption,
            decimal expTotalEnergyConsumption)
        {
            var builder        = new ApplianceUsageBuilder();
            var applianceUsage = new ApplianceUsage(
                builder.TestConsumptionCalculator, builder.TestAppliance,
                quantity, powerConsumption, builder.TestEnabled);

            applianceUsage.ApplianceUsageSchedule.ClearUsageIntervals();
            foreach (var u in aUSchedule.UsageIntervals)
            {
                var ti = u.TimeInterval;
                int startHr = ti.Start.Hours, startMin = ti.Start.Minutes;
                int endHr = ti.End.Hours, endMin = ti.End.Minutes;
                applianceUsage.ApplianceUsageSchedule.AddUsageInterval(
                    startHr, startMin, endHr, endMin, u.UsageKind
                    );
            }
            var applianceUsageTotal = new ApplianceUsageTotal(applianceUsage);

            Assert.Equal(expTotalPowerConsumption,
                         applianceUsageTotal.TotalPowerConsumption);
            Assert.Equal(expTotalOnSolarEnergyConsumption,
                         applianceUsageTotal.TotalOnSolarEnergyConsumption);
            Assert.Equal(expTotalOffSolarEnergyConsumption,
                         applianceUsageTotal.TotalOffSolarEnergyConsumption);
            Assert.Equal(expTotalEnergyConsumption,
                         applianceUsageTotal.TotalEnergyConsumption);
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Recalcs the ApplianceUsageTotal for this and then asks Consumption
 /// to recalc overall totals.
 /// </summary>
 public override void Recalculate()
 {
     ApplianceUsageTotal = new ApplianceUsageTotal(this);
     _consumptionCalculator.Recalculate();
 }