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
        void ThrowsForNegativePowerConsumption()
        {
            var builder = new ApplianceUsageBuilder();

            Assert.Throws <ArgumentOutOfRangeException>(() => {
                new ApplianceUsage(builder.TestConsumptionCalculator,
                                   builder.TestAppliance, builder.TestQuantity,
                                   -10.5m, builder.TestEnabled);
            });
        }
Ejemplo n.º 3
0
        void ThrowsForNullAppliance()
        {
            var builder = new ApplianceUsageBuilder();

            Assert.Throws <ArgumentNullException>(() => {
                new ApplianceUsage(builder.TestConsumptionCalculator, null,
                                   builder.TestQuantity, builder.TestPowerConsumption,
                                   builder.TestEnabled);
            });
        }