From 37efb2d4c46f3ad9dd24671123ff2ce11b275d7a Mon Sep 17 00:00:00 2001 From: Julien Marrec Date: Fri, 25 Feb 2022 15:25:42 +0100 Subject: [PATCH] Add a test that crashes for #4544 --- src/model/test/CoilCoolingDX_GTest.cpp | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/src/model/test/CoilCoolingDX_GTest.cpp b/src/model/test/CoilCoolingDX_GTest.cpp index ccc8d1ec87..a4e97a6556 100644 --- a/src/model/test/CoilCoolingDX_GTest.cpp +++ b/src/model/test/CoilCoolingDX_GTest.cpp @@ -263,3 +263,29 @@ TEST_F(ModelFixture, CoilCoolingDX_cloneParent) { EXPECT_EQ(dx, unitary.coolingCoil().get()); EXPECT_NE(dx, unitaryClone.coolingCoil().get()); } + +TEST_F(ModelFixture, CoilCoolingDX_cloneOtherModel) { + Model model; + + CoilCoolingDXCurveFitOperatingMode operatingMode(model); + CoilCoolingDXCurveFitPerformance performance(model, operatingMode); + CoilCoolingDX dx(model, performance); + + EXPECT_EQ(performance, dx.performanceObject()); + EXPECT_EQ(1u, model.getConcreteModelObjects().size()); + EXPECT_EQ(1u, model.getConcreteModelObjects().size()); + EXPECT_EQ(1u, model.getConcreteModelObjects().size()); + + Model model2; + auto dxClone = dx.clone(model2).cast(); + EXPECT_EQ(1u, model.getConcreteModelObjects().size()); + EXPECT_EQ(1u, model.getConcreteModelObjects().size()); + EXPECT_EQ(1u, model.getConcreteModelObjects().size()); + + EXPECT_EQ(1u, model2.getConcreteModelObjects().size()); + EXPECT_EQ(1u, model2.getConcreteModelObjects().size()); + EXPECT_EQ(1u, model2.getConcreteModelObjects().size()); + + EXPECT_EQ(performance, dx.performanceObject()); + EXPECT_NE(performance, dxClone.performanceObject()); +}