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); }
void ThrowsForNegativePowerConsumption() { var builder = new ApplianceUsageBuilder(); Assert.Throws <ArgumentOutOfRangeException>(() => { new ApplianceUsage(builder.TestConsumptionCalculator, builder.TestAppliance, builder.TestQuantity, -10.5m, builder.TestEnabled); }); }
void ThrowsForNullAppliance() { var builder = new ApplianceUsageBuilder(); Assert.Throws <ArgumentNullException>(() => { new ApplianceUsage(builder.TestConsumptionCalculator, null, builder.TestQuantity, builder.TestPowerConsumption, builder.TestEnabled); }); }