37 EXPECT_TRUE(data.
roles().empty());
38 EXPECT_FALSE(data.
data(Qt::DisplayRole).isValid());
48 const QVariant variant(42.0);
51 EXPECT_TRUE(data.
setData(variant, role));
52 std::vector<int> expected{role};
53 EXPECT_EQ(data.
roles(), expected);
54 EXPECT_TRUE(data.
data(role) == variant);
57 EXPECT_FALSE(data.
setData(variant, role));
58 EXPECT_EQ(data.
roles(), expected);
59 EXPECT_TRUE(data.
data(role) == variant);
62 EXPECT_TRUE(data.
setData(QVariant(43.0), role));
63 EXPECT_EQ(data.
roles(), expected);
64 EXPECT_TRUE(data.
data(role) == QVariant(43.0));
67 EXPECT_TRUE(data.
setData(QVariant(), role));
68 EXPECT_TRUE(data.
roles().empty());
69 EXPECT_FALSE(data.
data(role).isValid());
85 EXPECT_TRUE(data.
setData(QVariant::fromValue(c1), role));
89 EXPECT_FALSE(data.
setData(QVariant::fromValue(c1), role));
92 EXPECT_TRUE(data.
setData(QVariant::fromValue(c2), role));
103 const int role2 = role1 + 1;
105 EXPECT_TRUE(data.
setData(QVariant::fromValue(42.0), role1));
106 EXPECT_TRUE(data.
setData(QVariant::fromValue(std::string(
"str")), role2));
108 std::vector<int> expected{role1, role2};
109 EXPECT_EQ(data.
roles(), expected);
111 EXPECT_TRUE(data.
data(role1) == QVariant(42.0));
112 EXPECT_TRUE(data.
data(role2) == QVariant::fromValue(std::string(
"str")));
113 EXPECT_FALSE(data.
data(role2) == QVariant(42.0));
114 EXPECT_FALSE(data.
data(role1) == QVariant::fromValue(std::string(
"str")));
124 const QVariant variant(42.0);
127 EXPECT_TRUE(data.
setData(variant, role));
128 std::vector<int> expected{role};
129 EXPECT_EQ(data.
roles(), expected);
130 EXPECT_TRUE(data.
data(role) == variant);
132 QVariant s = QVariant::fromValue(std::string(
"str"));
133 EXPECT_THROW(data.
setData(s, role), std::runtime_error);
139 const std::vector<double> expected_values = {1.2, 1.3};
140 const std::vector<int> expected_roles = {1, 2};
142 for (
size_t i = 0; i < expected_values.size(); ++i) {
143 data.
setData(QVariant::fromValue(expected_values[i]), expected_roles[i]);
146 std::vector<double> values;
147 std::vector<int> roles;
149 for (
const auto& x : data) {
150 values.push_back(x.m_data.value<
double>());
151 roles.push_back(x.m_role);
154 EXPECT_EQ(values, expected_values);
155 EXPECT_EQ(roles, expected_roles);
165 data.
setData(QVariant::fromValue(42), role);
166 EXPECT_TRUE(data.
hasData(role));
169 data.
setData(QVariant(), role);
170 EXPECT_FALSE(data.
hasData(role));
Custom property to define list of string values with multiple selections.
void setValue(const std::string &name)
static ComboProperty createFrom(const std::vector< std::string > &values, const std::string ¤t_value={})
Handles data roles for SessionItem.
std::vector< int > roles() const
bool hasData(int role) const
Returns true if item has data with given role.
bool setData(const Variant &value, int role)
Sets the data for given role.
Variant data(int role) const
const int DATA
main data role
materialitems.h Collection of materials to populate MaterialModel.
TEST_F(SessionItemDataTest, initialState)
Initial state of SessionItemData object.