~ubuntu-branches/ubuntu/saucy/libusermetrics/saucy-proposed

« back to all changes in this revision

Viewing changes to tests/unit/libusermetricsinput/TestMetricManagerImpl.cpp

  • Committer: Package Import Robot
  • Author(s): Ubuntu daily release, Pete Woods, Ubuntu daily release
  • Date: 2013-07-09 02:03:17 UTC
  • mfrom: (1.1.6)
  • Revision ID: package-import@ubuntu.com-20130709020317-0ptqrgp61hdk0pbi
Tags: 1.0.4+13.10.20130709-0ubuntu1
[ Pete Woods ]
* Add new simple "increment" API

[ Ubuntu daily release ]
* Automatic snapshot from revision 98

Show diffs side-by-side

added added

removed removed

Lines of Context:
155
155
        EXPECT_FLOAT_EQ(25.0, dataFour.first().toDouble());
156
156
}
157
157
 
 
158
TEST_F(TestMetricManagerImpl, TestCanAddDataAndIncrement) {
 
159
        MetricManagerPtr manager(new MetricManagerImpl(*connection));
 
160
 
 
161
        MetricPtr metric(manager->add("data-source-id", "format string %1"));
 
162
        metric->increment(1.0, "the-username");
 
163
 
 
164
        com::canonical::usermetrics::UserData userDataInterface(
 
165
                        DBusPaths::serviceName(), DBusPaths::userData(1), *connection);
 
166
        EXPECT_EQ(QString("the-username"), userDataInterface.username());
 
167
 
 
168
        com::canonical::usermetrics::DataSet dataSetInterface(
 
169
                        DBusPaths::serviceName(), DBusPaths::dataSet(1), *connection);
 
170
        {
 
171
                QVariantList data(dataSetInterface.data());
 
172
                ASSERT_EQ(1, data.size());
 
173
                EXPECT_FLOAT_EQ(1.0, data.at(0).toDouble());
 
174
        }
 
175
 
 
176
        metric->increment(2.0, "the-username");
 
177
        {
 
178
                QVariantList data(dataSetInterface.data());
 
179
                ASSERT_EQ(1, data.size());
 
180
                EXPECT_FLOAT_EQ(3.0, data.at(0).toDouble());
 
181
        }
 
182
 
 
183
        QDateTime dateTime(QDateTime::fromTime_t(dataSetInterface.lastUpdated()));
 
184
        EXPECT_EQ(QDate::currentDate(), dateTime.date());
 
185
}
 
186
 
 
187
TEST_F(TestMetricManagerImpl, TestCanAddNullAndIncrement) {
 
188
        MetricManagerPtr manager(new MetricManagerImpl(*connection));
 
189
 
 
190
        MetricPtr metric(manager->add("data-source-id", "format string %1"));
 
191
        {
 
192
                MetricUpdatePtr update(metric->update("the-username"));
 
193
                update->addNull();
 
194
        }
 
195
 
 
196
        com::canonical::usermetrics::UserData userDataInterface(
 
197
                        DBusPaths::serviceName(), DBusPaths::userData(1), *connection);
 
198
        EXPECT_EQ(QString("the-username"), userDataInterface.username());
 
199
 
 
200
        com::canonical::usermetrics::DataSet dataSetInterface(
 
201
                        DBusPaths::serviceName(), DBusPaths::dataSet(1), *connection);
 
202
        {
 
203
                QVariantList data(dataSetInterface.data());
 
204
                ASSERT_EQ(1, data.size());
 
205
                EXPECT_EQ(QString(""), data.at(0).toString());
 
206
        }
 
207
 
 
208
        metric->increment(5.2, "the-username");
 
209
        {
 
210
                QVariantList data(dataSetInterface.data());
 
211
                ASSERT_EQ(1, data.size());
 
212
                EXPECT_FLOAT_EQ(5.2, data.at(0).toDouble());
 
213
        }
 
214
 
 
215
        QDateTime dateTime(QDateTime::fromTime_t(dataSetInterface.lastUpdated()));
 
216
        EXPECT_EQ(QDate::currentDate(), dateTime.date());
 
217
}
 
218
 
158
219
} // namespace