#include "Lts/Common/LtsTimelineClassic/Event.h" #include "Lts/Common/LtsTimelineClassic/TestTimelineModel.h" #include #include #include #include namespace LtsTimelineClassic { // Helper to create test Event with minimal parameters static Event* createTestEvent() { return new Event(1, // uniqueId 1, // typeId 0, // startTime 1000, // endTime 1, // playerId 1, // partyId 1, // equipmentId QStringList{QStringLiteral("test")}, // path Event::drawCustomEventGraphicRect, // paintFunc QColor(Qt::red), // paintColor QJsonObject()); // detailData } class TestTimelineModelTest : public ::testing::Test { protected: void SetUp() override {} void TearDown() override {} }; TEST(TestTimelineModelTest, ConstructorCreatesValidModel) { TestTimelineModel model; EXPECT_NO_THROW(model.rowCount()); EXPECT_NO_THROW(model.columnCount()); } TEST(TestTimelineModelTest, AddTestEventIncreasesRowCount) { TestTimelineModel model; int initialCount = model.rowCount(); Event* event = createTestEvent(); model.addTestEvent(event); EXPECT_EQ(model.rowCount(), initialCount + 1); } TEST(TestTimelineModelTest, MultipleEventsCanBeAdded) { TestTimelineModel model; int initialCount = model.rowCount(); Event* event1 = createTestEvent(); Event* event2 = createTestEvent(); Event* event3 = createTestEvent(); model.addTestEvent(event1); model.addTestEvent(event2); model.addTestEvent(event3); EXPECT_EQ(model.rowCount(), initialCount + 3); } } // namespace LtsTimelineClassic