public void SelectCalculationStrategyReturnsSecondCalc(PackagedSolutionId packID)
        {
            var package     = new PackageFactory().GetPackage(packID);
            var calcManager = new CalculationManager();

            Assert.AreEqual(typeof(BoilerForWater), calcManager.SelectCalculationStrategy(package)[1].GetType());
        }
        public void SelectCalculationStrategyDoesNotReturnWrong(PackagedSolutionId packID)
        {
            var package     = new PackageFactory().GetPackage(packID);
            var calcManager = new CalculationManager();

            Assert.AreNotEqual(typeof(BoilerAsPrimary), calcManager.SelectCalculationStrategy(package)[0].GetType());
        }
Esempio n. 3
0
        public void HeatPumpAsPrimStrategyReturnsCorrectHasNonSolarContainer_false(PackagedSolutionId Id, bool expectedValue)
        {
            var package      = new PackageFactory().GetPackage(Id);
            var _packageData = new PackageDataManager(package);

            Assert.IsFalse(_packageData.HasNonSolarContainer());
        }
        public void SelectCalculationStrategy_returnsAEEICalculationType_true(PackagedSolutionId packID)
        {
            var package     = new PackageFactory().GetPackage(packID);
            var calcManager = new CalculationManager();

            Assert.IsTrue(typeof(IEEICalculation).IsAssignableFrom(calcManager.SelectCalculationStrategy(package)[0].GetType()));
        }
Esempio n. 5
0
        public void HeatPumpAsPrimStrategyReturnsCorrectSolEff_true(PackagedSolutionId Id, float expectedValue)
        {
            var   package           = new PackageFactory().GetPackage(Id);
            float solarContribution = HeatPumpStrategy.CalculateEEI(package).SolarHeatContribution;

            //Assert.AreEqual(solarContribution, expectedValue);
            Assert.IsTrue(solarContribution <= expectedValue + 0.1f && solarContribution >= expectedValue - 0.1f);
        }
Esempio n. 6
0
        public void HeatPumpAsPrimStrategyReturnsCorrectSecEff_true(PackagedSolutionId Id, float expectedValue)
        {
            var   package         = new PackageFactory().GetPackage(Id);
            float SecondaryEffect = HeatPumpStrategy.CalculateEEI(package).EffectOfSecondaryBoiler;

            //Assert.AreEqual(SecondaryEffect, expectedValue);
            Assert.IsTrue(SecondaryEffect <= expectedValue + 0.1f && SecondaryEffect >= expectedValue - 0.1f);
        }
Esempio n. 7
0
        public void HeatPumpAsPrimStrategyReturnsCorrectRegEff_true(PackagedSolutionId Id, float expectedValue)
        {
            var   package         = new PackageFactory().GetPackage(Id);
            float RegulatorEffect = HeatPumpStrategy.CalculateEEI(package).EffectOfTemperatureRegulatorClass;

            //Assert.AreEqual(RegulatorEffect, expectedValue);
            Assert.IsTrue(RegulatorEffect <= expectedValue + 0.1f && RegulatorEffect >= expectedValue - 0.1f);
        }
Esempio n. 8
0
        public void HeatPumpAsPrimStrategyReturnsCorrectEEI_true(PackagedSolutionId Id, float expectedValue)
        {
            var   package = new PackageFactory().GetPackage(Id);
            float EEI     = HeatPumpStrategy.CalculateEEI(package).EEI;

            //Assert.AreEqual(EEI, expectedValue);
            Assert.IsTrue(EEI <= expectedValue + 1 && EEI >= expectedValue - 1);
        }
Esempio n. 9
0
        public void HeatPumpAsPrimStrategyReturnsCorrectWarmAFUE_true(PackagedSolutionId Id, float expectedValue)
        {
            var   package  = new PackageFactory().GetPackage(Id);
            float WarmAFUE = HeatPumpStrategy.CalculateEEI(package).PackagedSolutionAtWarmTemperaturesAFUE;

            //Assert.AreEqual(WarmAFUE, expectedValue);
            Assert.IsTrue(WarmAFUE <= expectedValue + 1 && WarmAFUE >= expectedValue - 1);
        }
        public void SelectCalculationStrategyReturnsCorrectEEI(PackagedSolutionId packID, float expectedValue)
        {
            var package     = new PackageFactory().GetPackage(packID);
            var calcManager = new CalculationManager();
            EEICalculationResult Results = calcManager.SelectCalculationStrategy(package)[0].CalculateEEI(package);

            //Assert.AreEqual(Results.EEI, expectedValue);
            Assert.IsTrue(Results.EEI <= expectedValue + 1 && Results.EEI >= expectedValue - 1);
        }
        public void SelectCalculationStrategyReturnsCorrectSolEff(PackagedSolutionId packID, float expectedValue)
        {
            var package     = new PackageFactory().GetPackage(packID);
            var calcManager = new CalculationManager();
            EEICalculationResult Results = calcManager.SelectCalculationStrategy(package)[0].CalculateEEI(package);

            //Assert.AreEqual(Results.SolarHeatContribution, expectedValue);
            Assert.IsTrue(Results.SolarHeatContribution <= expectedValue + 0.1f && Results.SolarHeatContribution >= expectedValue - 0.1f);
        }
Esempio n. 12
0
        public void WaterPrimaryCalculateEEI_CorrectEnergiEfficiency(PackagedSolutionId packageId, float expected)
        {
            var package     = new PackageFactory().GetPackage(packageId);
            var calculation = new BoilerForWater();
            var result      = calculation.CalculateEEI(package);
            var EEI         = result.WaterHeatingEffciency;

            Assert.IsTrue(expected + 0.1f >= EEI && EEI >= expected - 0.1f);
        }
        public void SelectCalculationStrategyReturnsCorrectSupHeat(PackagedSolutionId packID, float expectedValue)
        {
            var package     = new PackageFactory().GetPackage(packID);
            var calcManager = new CalculationManager();
            EEICalculationResult Results = calcManager.SelectCalculationStrategy(package)[0].CalculateEEI(package);

            //Assert.AreEqual(Results.EffectOfSecondaryHeatPump, expectedValue);
            // fejl margin hævet til 0.3 fordi det eneste der påvirker resultatet en en værdi der er 0.509 i stedet for 0.504
            Assert.IsTrue(Results.EffectOfSecondaryHeatPump <= expectedValue + 0.3f && Results.EffectOfSecondaryHeatPump >= expectedValue - 0.3f);
        }
        public void PrimaryBoilerCalculateEEI_CorrectTempContribution(PackagedSolutionId id, float expected)
        {
            var package     = new PackageFactory().GetPackage(id);
            var calculation = new BoilerAsPrimary();

            AssignUsageProperties(package);
            var result = new EEICalculationResult();

            result = calculation.CalculateEEI(package);
            Assert.AreEqual(expected, (float)Math.Round(result.EffectOfTemperatureRegulatorClass, 1));
        }
Esempio n. 15
0
        public void WaterPrimaryCalculateEEI_CorrectColderEEI(PackagedSolutionId packageId, float expected)
        {
            var package = new PackageFactory().GetPackage(packageId);

            AssignUsageProperties(package);
            var calculation = new BoilerForWater();
            var result      = calculation.CalculateEEI(package);
            var EEI         = (float)Math.Round(result.PackagedSolutionAtColdTemperaturesAFUE);

            Assert.IsTrue(expected + 1f >= EEI && EEI >= expected - 1f);
        }
        public void PrimaryBoilerCalculateEEI_CorrectLowTempEEI(PackagedSolutionId id, float expected)
        {
            var package     = new PackageFactory().GetPackage(id);
            var calculation = new BoilerAsPrimary();

            AssignUsageProperties(package);
            var result  = calculation.CalculateEEI(package);
            var lowTemp = result.PackagedSolutionAtColdTemperaturesAFUE;

            Assert.IsTrue(expected <= lowTemp + 1f && expected >= lowTemp - 1f);
        }
Esempio n. 17
0
        //[TestCase(PackagedSolutionId.EuroPurWStationWPanels, 1, 206)]
        public void WaterPrimaryCalculateEEI_CalculatesEEICompletePackagedSolution(PackagedSolutionId packageId, float errormargin, float expected)
        {
            var package = new PackageFactory().GetPackage(packageId);

            AssignUsageProperties(package);
            var calculation = new BoilerForWater();
            var result      = calculation.CalculateEEI(package);
            var EEI         = (float)Math.Round(result.EEI);

            //Assert.AreEqual(EEI, expected);
            Assert.IsTrue(expected + errormargin >= EEI && EEI >= expected - errormargin);
        }
Esempio n. 18
0
        public void WaterPrimaryCalculateEEI_CorrectSolarContribution(PackagedSolutionId packageId, float errorMargin, float expected)
        {
            var package = new PackageFactory().GetPackage(packageId);

            AssignUsageProperties(package);
            var calculation = new BoilerForWater();
            var result      = calculation.CalculateEEI(package);
            var EEI         = Math.Round(result.SolarHeatContribution, 3);

            //Assert.AreEqual(EEI, expected);
            Assert.IsTrue(expected + errorMargin >= EEI && EEI >= expected - errorMargin);
        }
        public void PrimaryBoilerCalculateEEI_CorrectAFUEContribution(PackagedSolutionId id, float expected)
        {
            var package     = new PackageFactory().GetPackage(id);
            var calculation = new BoilerAsPrimary();

            AssignUsageProperties(package);
            var result = new EEICalculationResult();

            result = calculation.CalculateEEI(package);
            var AFUE = result.PrimaryHeatingUnitAFUE;

            Assert.IsTrue(expected <= AFUE + 0.1f && expected >= AFUE - 0.1f);
        }
        public void PrimaryBoilerCalculateEEI_CorrectAdjustedContribution(PackagedSolutionId id, float expected)
        {
            var package     = new PackageFactory().GetPackage(id);
            var calculation = new BoilerAsPrimary();

            AssignUsageProperties(package);
            var result = new EEICalculationResult();

            result = calculation.CalculateEEI(package);
            var adjusted = result.AdjustedContribution;

            Assert.IsTrue(expected <= adjusted + 0.1f && expected >= adjusted - 0.1f);
        }
        public void PrimaryBoilerCalculateEEI_CorrectSecondBoilerContribution(PackagedSolutionId id, int boilerId, float expected)
        {
            var package     = new PackageFactory().GetPackage(id);
            var calculation = new BoilerAsPrimary();

            AssignUsageProperties(package);
            var result = new EEICalculationResult();

            result = calculation.CalculateEEI(package);
            var secBoiler = result.EffectOfSecondaryBoiler;

            Assert.IsTrue(expected <= secBoiler + 0.1f && expected >= secBoiler - 0.1f);
        }
        public void PrimaryBoilerCalculateEEI_CorrectSolarContribution(PackagedSolutionId id, float expected)
        {
            var package     = new PackageFactory().GetPackage(id);
            var calculation = new BoilerAsPrimary();

            AssignUsageProperties(package);
            var result = new EEICalculationResult();

            result = calculation.CalculateEEI(package);
            var solar = result.SolarHeatContribution;

            //Assert.AreEqual(expected, solar);
            Assert.IsTrue(expected <= solar + 0.1f && expected >= solar - 0.1f);
        }
        public void PrimaryBoilerCalculateEEI_CorrectHeatpumpContribution(PackagedSolutionId id, float expected)
        {
            var package     = new PackageFactory().GetPackage(id);
            var calculation = new BoilerAsPrimary();

            AssignUsageProperties(package);
            var result = new EEICalculationResult();

            result = calculation.CalculateEEI(package);

            float contribution = (float)(result.EffectOfSecondaryHeatPump);

            // Kan ikke få fejl margin på 0.1 endnu
            Assert.IsTrue(expected <= contribution + 0.2f && expected >= contribution - 0.2f);
        }
        public void PrimaryBoilerCalculateEEI_CorrecrOverallResultWContainer(PackagedSolutionId packId, ContainerId id, float expected)
        {
            var package     = new PackageFactory().GetPackage(packId);
            var calculation = new BoilerAsPrimary();

            AssignUsageProperties(package);
            //package.Appliances.Add(new ApplianceFactory().GetBoiler(id) ?? new Appliance());
            if (id == ContainerId.SM500)
            {
                package.ApplianceInstances.Add(new ApplianceInstance()
                {
                    Appliance = new ApplianceFactory().GetContainer(id)
                });
            }
            var result = new EEICalculationResult();

            result = calculation.CalculateEEI(package);
            var EEI = Math.Round(result.EEI);

            Assert.IsTrue(expected <= EEI + 1f && expected >= EEI - 1f);
        }
        public void PrimaryBoilerCalculateEEI_CorrecrOverallResult(PackagedSolutionId packId, BoilerId id, float expected)
        {
            var package     = new PackageFactory().GetPackage(packId);
            var calculation = new BoilerAsPrimary();

            AssignUsageProperties(package);
            //package.Appliances.Add(new ApplianceFactory().GetBoiler(id) ?? new Appliance());
            if (id == BoilerId.LoganoSB150)
            {
                var primary = package.PrimaryHeatingUnitInstance;
                primary.IsPrimary = false;
                package.ApplianceInstances.Add(new ApplianceInstance()
                {
                    Appliance = new ApplianceFactory().GetBoiler(id), IsPrimary = true
                });
            }
            var result = new EEICalculationResult();

            result = calculation.CalculateEEI(package);
            var EEI = Math.Round(result.EEI);

            //Assert.AreEqual(expected, EEI);
            Assert.IsTrue(expected <= EEI + 1f && expected >= EEI - 1f);
        }
        public PackagedSolution GetPackage(PackagedSolutionId id)
        {
            switch (id)
            {
            case PackagedSolutionId.PrimaryBoilerNUll:
                return(new PackageStub(0, 0, 0, 0, 0));

            case PackagedSolutionId.PrimarySolarContainerNull:
                return(new PackageStub(BoilerId.LoganoSB150, 0, 0, 0, 0));

            case PackagedSolutionId.PrimaryBoilerOHeatPump:
                return(new PackageStub(BoilerId.LoganoSB150, ContainerId.ClassBHighVolume,
                                       BoilerId.Cerapur, SolarPanelId.LogasolSKNWater, 1,
                                       0, ContainerId.ClassBHighVolume, TempControlId.FB100));

            case PackagedSolutionId.PrimaryBoilerSame:
                return(new PackageStub(BoilerId.LoganoSB150, ContainerId.ClassBHighVolume,
                                       BoilerId.Cerapur, SolarPanelId.LogasolSKNWater, 1,
                                       0, ContainerId.ClassBHighVolume, TempControlId.FB100));

            case PackagedSolutionId.PrimaryBoilerNulls:
                return(new PackageStub(BoilerId.LoganoSB150, 0, 0, 0, 1, 0, 0, 0));

            case PackagedSolutionId.WaterHeatingEuroACUSBT1003:
                return(new PackageStub(BoilerId.EuroPurACUWater, ContainerId.ClassBHighVolume,
                                       SolarPanelId.FKC25Water, 1, SolarStationId.SBT1003));

            case PackagedSolutionId.WaterHeatingEuroACUSBT653:
                return(new PackageStub(BoilerId.EuroPurACUWater, ContainerId.ClassBHighVolume,
                                       SolarPanelId.FKC25Water, 1, SolarStationId.SBT653));

            case PackagedSolutionId.WaterHeatingCondens9000SBT353:
                return(new PackageStub(BoilerId.Condens9000Water, ContainerId.ClassBHighVolume,
                                       SolarPanelId.FKC25Water, 1, SolarStationId.SBT353));

            case PackagedSolutionId.WaterHeatingEuroSolarSBT353:
                return(new PackageStub(BoilerId.EuroPurUnitSolarWater, ContainerId.ClassBHighVolume,
                                       SolarPanelId.FKC25Water, 1, SolarStationId.SBT353));

            case PackagedSolutionId.PrimaryWaterBoilerOSolar:
                return(new PackageStub(BoilerId.EuroPurACUWater, ContainerId.ClassBHighVolume, 0, 0, 0));

            case PackagedSolutionId.PrimaryWaterBoilerNull:
                return(new PackageStub(BoilerId.EuroPurACUWater, 0, 0, 0, 0));

            case PackagedSolutionId.PrimaryBoilerWHeatPump:
                return(new PackageStub(BoilerId.LoganoSB150, ContainerId.ClassBHighVolume,
                                       0, SolarPanelId.LogasolSKNWater, 1,
                                       HeatpumpId.Compress7000, ContainerId.ClassBHighVolume, TempControlId.FB100));

            case PackagedSolutionId.PirmaryBoilerW3Solar:
                return(new PackageStub(BoilerId.EuroPurUnitSolarWater, ContainerId.ClassBHighVolume, 0,
                                       SolarPanelId.LogasolSKNWater, 3, 0, 0, 0));

            case PackagedSolutionId.PrimaryBoilerW1Solar:
                return(new PackageStub(BoilerId.EuroPurUnitSolarWater, ContainerId.ClassBHighVolume, 0,
                                       SolarPanelId.LogasolSKNWater, 1, 0, 0, 0));

            case PackagedSolutionId.PrimaryHeatPump6Solars:
                return(new PackageStub(HeatpumpId.Compress7000, ContainerId.BST50080, BoilerId.LoganoSB150,
                                       SolarPanelId.LogasolSKN40, 6, ContainerId.SW750, TempControlId.CW400));

            case PackagedSolutionId.PrimaryPurUnitSolarWater:
                return(new PackageStub(BoilerId.EuroPurUnitSolarWater, 0,
                                       SolarPanelId.LogasolSKNWater, 1, 0));

            case PackagedSolutionId.PrimaryPurUnitSolarWaterWStation:
                return(new PackageStub(BoilerId.EuroPurUnitSolarWater, 0,
                                       SolarPanelId.LogasolSKNWater, 1, SolarStationId.SBT1003));

            case PackagedSolutionId.PrimaryCondens1Container:
                return(new PackageStub(BoilerId.Condens5000, ContainerId.ClassBHighVolume, 1,
                                       SolarPanelId.LogasolSKNWater, 1, SolarStationId.SBT1003));

            case PackagedSolutionId.PrimaryCondens3Container:
                return(new PackageStub(BoilerId.Condens5000, ContainerId.ClassBHighVolume, 3,
                                       SolarPanelId.LogasolSKNWater, 1, SolarStationId.SBT1003));

            case PackagedSolutionId.PrimaryHeatPump2Solar:
                return(new PackageStub(HeatpumpId.Compress5000, ContainerId.BST500, BoilerId.LoganoSB150,
                                       SolarPanelId.LogasolSKNWater, 2, ContainerId.SM500, TempControlId.CW400));

            case PackagedSolutionId.PrimaryHeatPump4Solars:
                return(new PackageStub(HeatpumpId.Vitocal200S, ContainerId.Vitocell140E400l, BoilerId.Vitodens200,
                                       SolarPanelId.Vitosol300T, 4, ContainerId.Vitocell300B, null));

            case PackagedSolutionId.PrimaryHeatPumpNoSolars:
                return(new PackageStub(HeatpumpId.Compress7000, null, BoilerId.LoganoSB150, null, 0, ContainerId.SW750, TempControlId.CW400));

            case PackagedSolutionId.PrimaryCHP4Solars:
                return(new PackageStub(CHPId.Vitobloc200, ContainerId.Vitocell140E400l, BoilerId.Vitodens200,
                                       SolarPanelId.Vitosol300T, 4, null, null));

            case PackagedSolutionId.Brian1:
                return(new PackageStub(BoilerId.Vitoladens300W, ContainerId.Vitocell140E950l, null, SolarPanelId.Vitosol200T, 5, null, 0, 0));

            case PackagedSolutionId.Brian2:
                return(new PackageStub(HeatpumpId.Vitocal350A, ContainerId.Vitocell140E950l, null, SolarPanelId.Vitosol200TSP2A, 6, null, 0));

            case PackagedSolutionId.Brian3:
                return(new PackageStub(BoilerId.LoganoSB150, null, 0, null, 0, HeatpumpId.Compress6000AW5, null, null));

            case PackagedSolutionId.Brian5:
                return(new PackageStub(BoilerId.LoganoSB150, ContainerId.BST5006, SolarPanelId.LogasolSKN40, 4, SolarStationId.SBT1603));

            case PackagedSolutionId.WaterHeaterTest:
                return(new PackageStub(BoilerId.LoganoSB150, 0, WaterHeaterId.Compress3000,
                                       SolarPanelId.LogasolSKNWater, 1, SolarStationId.SBT1003, TempControlId.CW400));

            case PackagedSolutionId.AndersTest:
                return(new PackageStub(BoilerId.Cerapur, null, null, 0, null));

            case PackagedSolutionId.EuroPurWStationWPanels:
                return(new PackageStub(BoilerId.EuroPurUnitSolarWater, 0, SolarPanelId.LogasolSKNWater, 4, SolarStationId.SBT1003));

            case PackagedSolutionId.Europur1SolarOnly:
                return(new PackageStub(BoilerId.EuroPurUnitSolarWater, 0, 0,
                                       SolarPanelId.LogasolSKNWater, 1, 0, 0, 0));

            default:
                return(null);
            }
        }
Esempio n. 27
0
        public void HeatPumpAsPrimStrategyReturnsResultsEEUCalculationResult_true(PackagedSolutionId Id)
        {
            var package = new PackageFactory().GetPackage(Id);

            Assert.AreEqual(HeatPumpStrategy.CalculateEEI(package).GetType(), typeof(EEICalculationResult));
        }