#include #include "../src/serializer/content_serializer.hpp" using namespace pdfengine; TEST(ContentSerializerTest, SerializeTextObject) { auto textObj = std::make_unique(); textObj->text = "Hello Serialization"; textObj->fontName = "F1"; textObj->fontSize = 14.5; textObj->tm[0] = 1.0; textObj->tm[1] = 0.0; textObj->tm[2] = 0.0; textObj->tm[3] = 1.0; textObj->tm[4] = 100.0; textObj->tm[5] = 200.0; std::vector> objects; objects.push_back(std::move(textObj)); ContentSerializer serializer; auto ops = serializer.serialize(objects); ASSERT_EQ(ops.size(), 5); EXPECT_EQ(ops[0].op, "BT"); EXPECT_EQ(ops[1].op, "Tf"); ASSERT_EQ(ops[1].operands.size(), 2); EXPECT_EQ(ops[1].operands[0]->stringValue, "F1"); EXPECT_DOUBLE_EQ(ops[1].operands[1]->numberValue, 14.5); EXPECT_EQ(ops[2].op, "Tm"); ASSERT_EQ(ops[2].operands.size(), 6); EXPECT_DOUBLE_EQ(ops[2].operands[0]->numberValue, 1.0); EXPECT_DOUBLE_EQ(ops[2].operands[1]->numberValue, 0.0); EXPECT_DOUBLE_EQ(ops[2].operands[2]->numberValue, 0.0); EXPECT_DOUBLE_EQ(ops[2].operands[3]->numberValue, 1.0); EXPECT_DOUBLE_EQ(ops[2].operands[4]->numberValue, 100.0); EXPECT_DOUBLE_EQ(ops[2].operands[5]->numberValue, 200.0); EXPECT_EQ(ops[3].op, "Tj"); ASSERT_EQ(ops[3].operands.size(), 1); EXPECT_EQ(ops[3].operands[0]->stringValue, "Hello Serialization"); EXPECT_EQ(ops[4].op, "ET"); }