44 TestListener listener(&model);
45 EXPECT_EQ(listener.model(), &model);
50 auto model = std::make_unique<SessionModel>();
51 auto listener = std::make_unique<TestListener>(model.get());
54 auto on_data_change = [&counter](
SessionItem*, int) { counter++; };
55 listener->setOnDataChange(on_data_change);
60 EXPECT_EQ(counter, 1);
67 auto model = std::make_unique<SessionModel>();
68 auto listener = std::make_unique<TestListener>(model.get());
70 EXPECT_EQ(listener->model(), model.get());
73 EXPECT_EQ(listener->model(),
nullptr);
81 auto model = std::make_unique<SessionModel>();
82 auto listener = std::make_unique<TestListener>(model.get());
86 auto on_data_change = [&counter](
SessionItem*, int) { counter++; };
87 listener->setOnDataChange(on_data_change);
92 EXPECT_EQ(counter, 1);
97 EXPECT_EQ(counter, 1);
TestListener(SessionModel *model)
Tests of ModelListener class.
Templated class for all objects willing to listen for changes in concrete SessionModel.
Item to carry concrete editable entity (e.g.
The main object representing an editable/displayable/serializable entity.
bool setData(const T &value, int role=ItemDataRole::DATA, bool direct=false)
Sets data for a given role.
Main class to hold hierarchy of SessionItem objects.
TEST_F(ModelListenerTest, initialState)
Initial state.
materialitems.h Collection of materials to populate MaterialModel.