TEST_F(IdfFixture, IdfObject_ConstructFromText_Comments) { std::string singleLineComment = "! Single line comment"; std::string multiLineComment = "! Multi" + idfRegex::newLinestring() + "! line " + idfRegex::newLinestring() + "!comment"; // single line comment above object std::string text = singleLineComment + idfRegex::newLinestring() + iddRegex::commentOnlyObjectName() + ";"; IdfObject object = IdfObject::load(text).get(); EXPECT_TRUE(object.iddObject().type() == IddObjectType::CommentOnly); EXPECT_TRUE(object.isValid(StrictnessLevel::Final)); EXPECT_EQ(singleLineComment, object.comment()); // single line comment after object text = iddRegex::commentOnlyObjectName() + ";" + singleLineComment; object = IdfObject::load(text).get(); EXPECT_TRUE(object.iddObject().type() == IddObjectType::CommentOnly); EXPECT_TRUE(object.isValid(StrictnessLevel::Final)); EXPECT_EQ(singleLineComment, object.comment()); // single line comment below object text = iddRegex::commentOnlyObjectName() + ";" + idfRegex::newLinestring() + singleLineComment; object = IdfObject::load(text).get(); EXPECT_TRUE(object.iddObject().type() == IddObjectType::CommentOnly); EXPECT_TRUE(object.isValid(StrictnessLevel::Final)); EXPECT_EQ(singleLineComment, object.comment()); // multi line comment above object text = multiLineComment + idfRegex::newLinestring() + iddRegex::commentOnlyObjectName() + ";"; object = IdfObject::load(text).get(); EXPECT_TRUE(object.iddObject().type() == IddObjectType::CommentOnly); EXPECT_TRUE(object.isValid(StrictnessLevel::Final)); EXPECT_EQ(multiLineComment, object.comment()); // multi line comment after object text = iddRegex::commentOnlyObjectName() + ";" + multiLineComment; object = IdfObject::load(text).get(); EXPECT_TRUE(object.iddObject().type() == IddObjectType::CommentOnly); EXPECT_TRUE(object.isValid(StrictnessLevel::Final)); EXPECT_EQ(multiLineComment, object.comment()); // multi line comment below object text = iddRegex::commentOnlyObjectName() + ";" + idfRegex::newLinestring() + multiLineComment; object = IdfObject::load(text).get(); EXPECT_TRUE(object.iddObject().type() == IddObjectType::CommentOnly); EXPECT_TRUE(object.isValid(StrictnessLevel::Final)); EXPECT_EQ(multiLineComment, object.comment()); }