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); }
/// <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(); }