| 15 | using openstudio::IddObjectType; |
| 16 | |
| 17 | TEST_F(IdfFixture, ObjectOrderBase_Constructors) { |
| 18 | // default |
| 19 | ObjectOrderBase defaultOrderer; |
| 20 | EXPECT_TRUE(defaultOrderer.orderByIddEnum()); |
| 21 | EXPECT_FALSE(defaultOrderer.iddOrder()); |
| 22 | // order is taken from IddObjectType enum order |
| 23 | EXPECT_TRUE(defaultOrderer.less(openstudio::IddObjectType::Building, openstudio::IddObjectType::AirflowNetwork_Distribution_Component_Coil)); |
| 24 | EXPECT_FALSE(defaultOrderer.less(openstudio::IddObjectType::Output_Diagnostics, openstudio::IddObjectType::Lights)); |
| 25 | EXPECT_TRUE(defaultOrderer.indexInOrder(openstudio::IddObjectType::Branch)); |
| 26 | |
| 27 | // specified order of IddObjectTypes |
| 28 | IddObjectTypeVector order; |
| 29 | order.push_back(openstudio::IddObjectType::Lights); |
| 30 | order.push_back(openstudio::IddObjectType::Zone); |
| 31 | order.push_back(openstudio::IddObjectType::RunPeriod); |
| 32 | order.push_back(openstudio::IddObjectType::Building); |
| 33 | ObjectOrderBase userEnumOrder(order); |
| 34 | EXPECT_FALSE(userEnumOrder.orderByIddEnum()); |
| 35 | ASSERT_TRUE(userEnumOrder.iddOrder()); |
| 36 | EXPECT_TRUE(order == *(userEnumOrder.iddOrder())); |
| 37 | ASSERT_TRUE(userEnumOrder.indexInOrder(openstudio::IddObjectType::RunPeriod)); |
| 38 | EXPECT_EQ(static_cast<unsigned>(2), *(userEnumOrder.indexInOrder(openstudio::IddObjectType::RunPeriod))); |
| 39 | ASSERT_TRUE(userEnumOrder.indexInOrder(openstudio::IddObjectType::Branch)); |
| 40 | EXPECT_EQ(static_cast<unsigned>(4), *(userEnumOrder.indexInOrder(openstudio::IddObjectType::Branch))); |
| 41 | |
| 42 | // derived class is handling order |
| 43 | ObjectOrderBase cededControl(true); |
| 44 | EXPECT_FALSE(cededControl.orderByIddEnum()); |
| 45 | EXPECT_FALSE(cededControl.iddOrder()); |
| 46 | EXPECT_FALSE(cededControl.indexInOrder(openstudio::IddObjectType::Building)); |
| 47 | } |
| 48 | |
| 49 | // test that when new type of order is set, others are disabled |
| 50 | TEST_F(IdfFixture, ObjectOrderBase_OrderSetters) { |
nothing calls this directly
no test coverage detected