46
45
m_source.reset(new MockSource);
47
m_model.reset(new MutableModel);
48
m_controller.reset(new Controller(m_model, m_source));
46
m_controller.reset(new Controller(m_source));
53
51
m_controller.reset();
102
99
auto t = std::make_shared<Transfer>();
103
100
t->state = transfer.state;
104
101
t->id = transfer.id;
102
m_source->m_model->add(t);
108
105
// make sure all the transfers made it into the model
109
auto ids = m_model->get_ids();
110
EXPECT_EQ(G_N_ELEMENTS(transfers), ids.size());
106
EXPECT_EQ(G_N_ELEMENTS(transfers), m_controller->size());
111
107
for (const auto& transfer : transfers)
112
EXPECT_EQ(1, ids.count(transfer.id));
109
EXPECT_EQ(1, m_controller->count(transfer.id));
110
EXPECT_CALL(*m_source, clear(transfer.id)).Times(transfer.can_clear?1:0);
114
113
// call clear-all
115
114
m_controller->clear_all();
117
// make sure all the clearable transfers are gone
118
ids = m_model->get_ids();
116
// make sure all the clearable transfers are gone from controler and source
117
auto source_ids = m_source->get_model()->get_ids();
119
119
for (const auto& transfer : transfers)
120
EXPECT_EQ((transfer.can_clear ? 0 : 1), ids.count(transfer.id));
121
int expect_count = (transfer.can_clear ? 0 : 1);
122
EXPECT_EQ(source_ids.count(transfer.id), expect_count);
123
EXPECT_EQ(m_controller->count(transfer.id), expect_count);
145
149
auto t = std::make_shared<Transfer>();
146
150
t->state = transfer.state;
147
151
t->id = transfer.id;
152
m_source->m_model->add(t);
149
153
EXPECT_EQ(transfer.can_pause, t->can_pause());
150
154
EXPECT_CALL(*m_source, pause(transfer.id)).Times(transfer.can_pause?1:0);
178
182
auto t = std::make_shared<Transfer>();
179
183
t->state = transfer.state;
180
184
t->id = transfer.id;
185
m_source->m_model->add(t);
182
186
EXPECT_EQ(transfer.can_resume, t->can_resume());
183
187
EXPECT_CALL(*m_source, resume(transfer.id)).Times(transfer.can_resume?1:0);
196
200
auto t = std::make_shared<Transfer>();
197
201
t->state = Transfer::QUEUED;
203
m_source->m_model->add(t);
201
205
t->state = Transfer::QUEUED;
202
206
EXPECT_CALL(*m_source, start(id)).Times(1);