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()); }
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())); }
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); }
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); }
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); }
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); }
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); }
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)); }
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); }
//[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); }
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); } }
public void HeatPumpAsPrimStrategyReturnsResultsEEUCalculationResult_true(PackagedSolutionId Id) { var package = new PackageFactory().GetPackage(Id); Assert.AreEqual(HeatPumpStrategy.CalculateEEI(package).GetType(), typeof(EEICalculationResult)); }