void AllowsEmptyDescription() { var builder = new ApplianceBuilder(); var appliance = builder.WithoutDescription(); Assert.Equal("", appliance.Description); }
void AddsAnApplianceUsage() { var consumption = CreateConsumption(); var appliance = new ApplianceBuilder().Build(); consumption.AddApplianceUsage(appliance); Assert.Single(consumption.ApplianceUsages); }
void ThrowsForNegativeDefaultStartupPowerConsumption() { var builder = new ApplianceBuilder(); Assert.Throws <ArgumentOutOfRangeException>(() => { new Appliance(builder.TestName, builder.TestDescription, 10.5m, -10); }); }
void ThrowsForEmptyName() { var builder = new ApplianceBuilder(); Assert.Throws <ArgumentException>(() => { new Appliance("", builder.TestDescription, builder.TestDefaultPowerConsumption, builder.TestDefaultStartupPowerConsumption); }); }
void AddsAnApplianceUsageWithTheCorrectAppliance() { var consumption = CreateConsumption(); var appliance = new ApplianceBuilder().Build(); consumption.AddApplianceUsage(appliance); var foundAppliance = consumption.ApplianceUsages.First().Appliance; Assert.Equal(appliance.Name, foundAppliance.Name); Assert.Equal(appliance.Description, foundAppliance.Description); Assert.Equal(appliance.DefaultPowerConsumption, foundAppliance.DefaultPowerConsumption); }
public void ShouldCalcTheCorrectTotals( List <CompactApplianceUsage> inApplianceUsages, decimal expMaxPowerConsumption, decimal expTotalPowerConsumption, decimal expTotalOnSolarEnergyConsumption, decimal expTotalOffSolarEnergyConsumption, decimal expTotalEnergyConsumption) { var site = new SiteBuilder().Build(); for (int i = 0; i < inApplianceUsages.Count; ++i) { // Add a new Applianceusage var appliance = new ApplianceBuilder().Build(); site.Consumption.AddApplianceUsage(appliance); // Modify it based on the passed test data var applianceUsage = site.Consumption.ApplianceUsages.Last(); // Rem the default usage interval applianceUsage.ApplianceUsageSchedule.ClearUsageIntervals(); var inApplianceUsage = inApplianceUsages[i]; applianceUsage.SetQuantity(inApplianceUsage.Quantity); applianceUsage.SetPowerConsumption( inApplianceUsage.PowerConsumption); foreach (var uti in inApplianceUsage.UsageIntervals) { var ti = uti.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, uti.UsageKind ); } applianceUsage.Recalculate(); } site.Consumption.Recalculate(); Assert.Equal(expMaxPowerConsumption, site.Consumption.ConsumptionTotal.MaxPowerConsumption); Assert.Equal(expTotalPowerConsumption, site.Consumption.ConsumptionTotal.TotalPowerConsumption); Assert.Equal(expTotalOnSolarEnergyConsumption, site.Consumption.ConsumptionTotal .TotalOnSolarEnergyConsumption); Assert.Equal(expTotalOffSolarEnergyConsumption, site.Consumption.ConsumptionTotal .TotalOffSolarEnergyConsumption); Assert.Equal(expTotalEnergyConsumption, site.Consumption.ConsumptionTotal.TotalEnergyConsumption); }
void AddsAnApplianceUsageWithCorrectUsage() { var consumption = CreateConsumption(); var appliance = new ApplianceBuilder().Build(); consumption.AddApplianceUsage(appliance); var foundApplianceUsage = consumption.ApplianceUsages.First(); Assert.Equal(ApplianceUsage.DefaultQuantity, foundApplianceUsage.Quantity); Assert.Equal(appliance.DefaultPowerConsumption, foundApplianceUsage.PowerConsumption); // Default num hours on solar should be the site num solar hours Assert.Equal(consumption.ReadOnlySiteSettings.NumSolarHours, foundApplianceUsage.GetNumHoursOnSolar()); // Default num hours off solar should be one designated in AU Assert.Equal(0, foundApplianceUsage.GetNumHoursOffSolar()); // Total num hours = num hours on solar + num hours off solar Assert.Equal( foundApplianceUsage.GetNumHoursOnSolar() + foundApplianceUsage.GetNumHoursOffSolar(), foundApplianceUsage.GetNumHours()); }