Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 3
0
        void ThrowsForNegativeDefaultStartupPowerConsumption()
        {
            var builder = new ApplianceBuilder();

            Assert.Throws <ArgumentOutOfRangeException>(() => {
                new Appliance(builder.TestName, builder.TestDescription,
                              10.5m, -10);
            });
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 6
0
        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());
        }