39 EXPECT_EQ(item.
get(),
nullptr);
40 EXPECT_EQ(item.
data<std::string>(), std::string());
52 EXPECT_EQ(link->get(),
nullptr);
58 EXPECT_EQ(link->get(), item);
59 EXPECT_EQ(link->
data<std::string>(), item->identifier());
66 auto pool = std::make_shared<ItemPool>();
75 EXPECT_EQ(link->get(),
nullptr);
81 EXPECT_EQ(link->get(), item);
93 EXPECT_EQ(link->get(),
nullptr);
98 auto expected_item = link;
99 EXPECT_CALL(widget, onDataChange(expected_item, expected_role)).Times(1);
100 EXPECT_CALL(widget, onPropertyChange(_, _)).Times(0);
110 auto pool = std::make_shared<ItemPool>();
117 EXPECT_EQ(link->get(),
nullptr);
121 EXPECT_EQ(link->get(), item);
124 link->setLink(
nullptr);
125 EXPECT_EQ(link->get(),
nullptr);
126 EXPECT_TRUE(link->data<QVariant>().isValid());
127 EXPECT_EQ(link->data<std::string>(), std::string());
Item to store a persistent link to other arbitrary items.
T * get() const
Returns item linked to given item. Works only in model context.
Item to carry concrete editable entity (e.g.
T data(int role=ItemDataRole::DATA) const
Returns data of given type T for given role.
Main class to hold hierarchy of SessionItem objects.
T * insertItem(SessionItem *parent=nullptr, const TagRow &tagrow={})
Inserts item into given parent under given tagrow.
TEST_F(LinkedItemTest, initialState)
Initial state of item when it is created outside of model context.
const int DATA
main data role
materialitems.h Collection of materials to populate MaterialModel.