~ubuntu-branches/ubuntu/trusty/libusermetrics/trusty-proposed

« back to all changes in this revision

Viewing changes to tests/unit/libusermetricsoutput/TestUserMetricsImpl.cpp

  • Committer: Package Import Robot
  • Author(s): Ubuntu daily release, Pete Woods, Ubuntu daily release
  • Date: 2013-07-02 02:02:52 UTC
  • mfrom: (1.1.2)
  • Revision ID: package-import@ubuntu.com-20130702020252-53yuhnlabsq1cq8x
Tags: 1.0.1+13.10.20130702-0ubuntu1
[ Pete Woods ]
* Implement most of storage service and wire up input API.
* Wire up the output API to the storage service.

[ Ubuntu daily release ]
* Automatic snapshot from revision 80

Show diffs side-by-side

added added

removed removed

Lines of Context:
18
18
 
19
19
#include <libusermetricsoutput/ColorThemeProvider.h>
20
20
#include <libusermetricsoutput/UserMetricsImpl.h>
 
21
#include <libusermetricsoutput/DataSet.h>
21
22
#include <testutils/QStringPrinter.h>
22
23
#include <testutils/QVariantPrinter.h>
 
24
#include <testutils/QVariantListPrinter.h>
23
25
#include <testutils/MockSignalReceiver.h>
24
26
 
25
27
#include <QtCore/QObject>
27
29
#include <gmock/gmock.h>
28
30
 
29
31
using namespace std;
 
32
using namespace UserMetricsCommon;
30
33
using namespace UserMetricsOutput;
31
34
using namespace testing;
32
35
using namespace UserMetricsTestUtils;
51
54
                ON_CALL(*dateFactory, currentDate()).WillByDefault(
52
55
                                Return(QDate(2001, 01, 07)));
53
56
 
54
 
                userDataStore.reset(new UserDataStore());
 
57
                userDataStore.reset(new UserMetricsStore());
55
58
 
56
59
                colorThemeProvider.reset(new NiceMock<MockColorThemeProvider>());
57
60
 
65
68
 
66
69
        QSharedPointer<MockDateFactory> dateFactory;
67
70
 
68
 
        QSharedPointer<UserDataStore> userDataStore;
 
71
        QSharedPointer<UserMetricsStore> userDataStore;
69
72
 
70
73
        QSharedPointer<MockColorThemeProvider> colorThemeProvider;
71
74
 
154
157
}
155
158
 
156
159
TEST_F(UserMetricsImplTest, HasEmptyDataForKnownUserWithNoData) {
157
 
        userDataStore->find("existing-user");
 
160
        userDataStore->insert("existing-user", UserDataPtr(new UserData()));
158
161
 
159
162
        model->setUsername("existing-user");
160
163
        model->readyForDataChangeSlot();
201
204
        }
202
205
        data << 70.0 << 65.0;
203
206
 
204
 
        UserDataStore::iterator userDataIterator(userDataStore->find("username"));
205
 
        UserDataStore::UserDataPtr userData(*userDataIterator);
206
 
 
207
 
        UserData::iterator dataSetIterator = userData->find("data-source-id");
208
 
        UserData::DataSetPtr dataSet(*dataSetIterator);
209
 
 
210
 
        dataSet->setFormatString("test format string %1");
 
207
        DataSourcePtr dataSource(new DataSource());
 
208
        dataSource->setFormatString("test format string %1");
 
209
        userDataStore->insert("data-source-id", dataSource);
 
210
 
 
211
        UserMetricsStore::iterator userDataIterator(
 
212
                        userDataStore->insert("username", UserDataPtr(new UserData())));
 
213
        UserDataPtr userData(*userDataIterator);
 
214
 
 
215
        UserData::iterator dataSetIterator = userData->insert("data-source-id",
 
216
                        DataSetPtr(new DataSet()));
 
217
        DataSetPtr dataSet(*dataSetIterator);
211
218
 
212
219
        // The data starts today
213
 
        dataSet->setData(QDate(2001, 01, 07), data);
 
220
        dataSet->setLastUpdated(QDate(2001, 01, 07));
 
221
        dataSet->setData(data);
214
222
 
215
223
        QSharedPointer<ColorTheme> blankColorTheme(
216
224
                        new ColorThemeImpl(QColor(), QColor(), QColor()));
271
279
        }
272
280
        data << 70.0 << 65.0;
273
281
 
274
 
        UserDataStore::iterator userDataIterator(userDataStore->find("username"));
275
 
        UserDataStore::UserDataPtr userData(*userDataIterator);
276
 
 
277
 
        UserData::iterator dataSetIterator = userData->find("data-source-id2");
278
 
        UserData::DataSetPtr dataSet(*dataSetIterator);
279
 
 
280
 
        dataSet->setFormatString("test other format string %1");
 
282
        DataSourcePtr dataSource(new DataSource());
 
283
        dataSource->setFormatString("test other format string %1");
 
284
        userDataStore->insert("data-source-id2", dataSource);
 
285
 
 
286
        UserMetricsStore::iterator userDataIterator(
 
287
                        userDataStore->insert("username", UserDataPtr(new UserData())));
 
288
        UserDataPtr userData(*userDataIterator);
 
289
 
 
290
        UserData::iterator dataSetIterator = userData->insert("data-source-id2",
 
291
                        DataSetPtr(new DataSet()));
 
292
        DataSetPtr dataSet(*dataSetIterator);
281
293
 
282
294
        // The data starts 3 days ago
283
 
        dataSet->setData(QDate(2001, 01, 04), data);
 
295
        dataSet->setLastUpdated(QDate(2001, 01, 04));
 
296
        dataSet->setData(data);
284
297
 
285
298
        QSharedPointer<ColorTheme> blankColorTheme(
286
299
                        new ColorThemeImpl(QColor(), QColor(), QColor()));
334
347
        // Data just for December
335
348
        data << 95.0 << 100.0 << 90.0 << 0.0;
336
349
 
337
 
        UserDataStore::iterator userDataIterator(userDataStore->find("username"));
338
 
        UserDataStore::UserDataPtr userData(*userDataIterator);
339
 
 
340
 
        UserData::iterator dataSetIterator = userData->find("data-source-id");
341
 
        UserData::DataSetPtr dataSet(*dataSetIterator);
342
 
 
343
 
        dataSet->setFormatString("this format string won't be used %1");
 
350
        DataSourcePtr dataSource(new DataSource());
 
351
        dataSource->setFormatString("this format string won't be used %1");
 
352
        userDataStore->insert("data-source-id", dataSource);
 
353
 
 
354
        UserMetricsStore::iterator userDataIterator(
 
355
                        userDataStore->insert("username", UserDataPtr(new UserData())));
 
356
        UserDataPtr userData(*userDataIterator);
 
357
 
 
358
        UserData::iterator dataSetIterator = userData->insert("data-source-id",
 
359
                        DataSetPtr(new DataSet()));
 
360
        DataSetPtr dataSet(*dataSetIterator);
344
361
 
345
362
        // The data starts 3 days ago
346
 
        dataSet->setData(QDate(2000, 12, 25), data);
 
363
        dataSet->setLastUpdated(QDate(2000, 12, 25));
 
364
        dataSet->setData(data);
347
365
 
348
366
        QSharedPointer<ColorTheme> blankColorTheme(
349
367
                        new ColorThemeImpl(QColor(), QColor(), QColor()));
393
411
        // Data just for January
394
412
        data << 100.0 << 0.0;
395
413
 
396
 
        UserDataStore::iterator userDataIterator(userDataStore->find("username"));
397
 
        UserDataStore::UserDataPtr userData(*userDataIterator);
398
 
 
399
 
        UserData::iterator dataSetIterator = userData->find("data-source-id");
400
 
        UserData::DataSetPtr dataSet(*dataSetIterator);
401
 
 
402
 
        dataSet->setFormatString("a format string with %1 in it");
 
414
        DataSourcePtr dataSource(new DataSource());
 
415
        dataSource->setFormatString("a format string with %1 in it");
 
416
        userDataStore->insert("data-source-id", dataSource);
 
417
 
 
418
        UserMetricsStore::iterator userDataIterator(
 
419
                        userDataStore->insert("username", UserDataPtr(new UserData())));
 
420
        UserDataPtr userData(*userDataIterator);
 
421
 
 
422
        UserData::iterator dataSetIterator = userData->insert("data-source-id",
 
423
                        DataSetPtr(new DataSet()));
 
424
        DataSetPtr dataSet(*dataSetIterator);
403
425
 
404
426
        // The data starts 2 days ago
405
 
        dataSet->setData(QDate(2001, 1, 5), data);
 
427
        dataSet->setLastUpdated(QDate(2001, 1, 5));
 
428
        dataSet->setData(data);
406
429
 
407
430
        QSharedPointer<ColorTheme> blankColorTheme(
408
431
                        new ColorThemeImpl(QColor(), QColor(), QColor()));
445
468
TEST_F(UserMetricsImplTest, AddDataMultipleDataForSingleUser) {
446
469
        // the fake date provider says the date is 2001/01/07
447
470
 
448
 
        UserDataStore::iterator userDataIterator(userDataStore->find("username"));
449
 
        UserDataStore::UserDataPtr userData(*userDataIterator);
 
471
        UserMetricsStore::iterator userDataIterator(
 
472
                        userDataStore->insert("username", UserDataPtr(new UserData())));
 
473
        UserDataPtr userData(*userDataIterator);
450
474
 
451
475
        // first data set
452
476
        {
 
477
                DataSourcePtr dataSource(new DataSource());
 
478
                dataSource->setFormatString("data source one %1 value");
 
479
                userDataStore->insert("data-source-one", dataSource);
 
480
 
453
481
                QVariantList data;
454
482
                data << 100.0 << 95.0 << 0.0 << 0.0 << 0.0 << 0.0 << 90.0 << 85.0;
455
 
                UserData::iterator dataSetIterator = userData->find("data-source-one");
456
 
                UserData::DataSetPtr dataSet(*dataSetIterator);
457
 
                dataSet->setFormatString("data source one %1 value");
458
 
                dataSet->setData(QDate(2001, 1, 4), data);
 
483
                UserData::iterator dataSetIterator = userData->insert("data-source-one",
 
484
                                DataSetPtr(new DataSet()));
 
485
                DataSetPtr dataSet(*dataSetIterator);
 
486
                dataSet->setLastUpdated(QDate(2001, 1, 4));
 
487
                dataSet->setData(data);
459
488
        }
460
489
 
461
490
        // second data set
462
491
        {
 
492
                DataSourcePtr dataSource(new DataSource());
 
493
                dataSource->setFormatString("data source 2 %1 value");
 
494
                userDataStore->insert("data-source-two", dataSource);
 
495
 
463
496
                QVariantList data;
464
497
                data << 50.0 << 65.0 << 0.0 << 0.0 << 0.0 << 0.0 << 0.0 << 0.0 << 0.0
465
498
                                << 75.0 << 100.0;
466
 
                UserData::iterator dataSetIterator = userData->find("data-source-two");
467
 
                UserData::DataSetPtr dataSet(*dataSetIterator);
468
 
                dataSet->setFormatString("data source 2 %1 value");
469
 
                dataSet->setData(QDate(2001, 1, 7), data);
 
499
                UserData::iterator dataSetIterator = userData->insert("data-source-two",
 
500
                                DataSetPtr(new DataSet()));
 
501
                DataSetPtr dataSet(*dataSetIterator);
 
502
                dataSet->setLastUpdated(QDate(2001, 1, 7));
 
503
                dataSet->setData(data);
470
504
        }
471
505
 
472
506
        QSharedPointer<ColorTheme> blankColorTheme(
550
584
 
551
585
        // data for first user
552
586
        {
553
 
                UserDataStore::iterator userDataIterator(
554
 
                                userDataStore->find("first-user"));
555
 
                UserDataStore::UserDataPtr userData(*userDataIterator);
 
587
                UserMetricsStore::iterator userDataIterator(
 
588
                                userDataStore->insert("first-user",
 
589
                                                UserDataPtr(new UserData())));
 
590
                UserDataPtr userData(*userDataIterator);
556
591
 
557
592
                // first data set
558
593
                {
 
594
                        DataSourcePtr dataSource(new DataSource());
 
595
                        dataSource->setFormatString("data source one %1 value");
 
596
                        userDataStore->insert("data-source-one", dataSource);
 
597
 
559
598
                        QVariantList data;
560
599
                        data << 100.0 << 95.0 << 0.0 << 0.0 << 0.0 << 0.0 << 90.0 << 85.0;
561
 
                        UserData::iterator dataSetIterator = userData->find(
562
 
                                        "data-source-one");
563
 
                        UserData::DataSetPtr dataSet(*dataSetIterator);
564
 
                        dataSet->setFormatString("data source one %1 value");
565
 
                        dataSet->setData(QDate(2001, 1, 7), data);
 
600
                        UserData::iterator dataSetIterator = userData->insert(
 
601
                                        "data-source-one", DataSetPtr(new DataSet()));
 
602
                        DataSetPtr dataSet(*dataSetIterator);
 
603
                        dataSet->setLastUpdated(QDate(2001, 1, 7));
 
604
                        dataSet->setData(data);
 
605
 
566
606
                }
567
607
 
568
608
                // second data set
569
609
                {
 
610
                        DataSourcePtr dataSource(new DataSource());
 
611
                        dataSource->setFormatString("data source two %1 value");
 
612
                        userDataStore->insert("data-source-two", dataSource);
 
613
 
570
614
                        QVariantList data;
571
615
                        data << 50.0 << 65.0 << 0.0 << 0.0 << 0.0 << 0.0 << 0.0 << 0.0
572
616
                                        << 0.0 << 75.0 << 100.0;
573
 
                        UserData::iterator dataSetIterator = userData->find(
574
 
                                        "data-source-two");
575
 
                        UserData::DataSetPtr dataSet(*dataSetIterator);
576
 
                        dataSet->setFormatString("data source two %1 value");
577
 
                        dataSet->setData(QDate(2001, 1, 7), data);
 
617
                        UserData::iterator dataSetIterator = userData->insert(
 
618
                                        "data-source-two", DataSetPtr(new DataSet()));
 
619
                        DataSetPtr dataSet(*dataSetIterator);
 
620
                        dataSet->setLastUpdated(QDate(2001, 1, 7));
 
621
                        dataSet->setData(data);
578
622
                }
579
623
        }
580
624
 
581
625
        // data for second user
582
626
        {
583
 
                UserDataStore::iterator userDataIterator(
584
 
                                userDataStore->find("second-user"));
585
 
                UserDataStore::UserDataPtr userData(*userDataIterator);
 
627
                UserMetricsStore::iterator userDataIterator(
 
628
                                userDataStore->insert("second-user",
 
629
                                                UserDataPtr(new UserData())));
 
630
                UserDataPtr userData(*userDataIterator);
 
631
                DataSourcePtr foo;
586
632
 
587
633
                // fourth data set
588
634
                {
 
635
                        DataSourcePtr dataSource(new DataSource());
 
636
                        dataSource->setFormatString("data source three %1 value");
 
637
                        userDataStore->insert("data-source-three", dataSource);
 
638
 
589
639
                        QVariantList data;
590
640
                        data << 15.0 << 100.0 << 0.0 << 0.0 << 0.0 << 0.0 << 0.0 << 0.0
591
641
                                        << 0.0 << 5.0 << 10.0;
592
 
                        UserData::iterator dataSetIterator = userData->find(
593
 
                                        "data-source-three");
594
 
                        UserData::DataSetPtr dataSet(*dataSetIterator);
595
 
                        dataSet->setFormatString("data source three %1 value");
596
 
                        dataSet->setData(QDate(2001, 1, 7), data);
 
642
                        UserData::iterator dataSetIterator = userData->insert(
 
643
                                        "data-source-three", DataSetPtr(new DataSet()));
 
644
                        DataSetPtr dataSet(*dataSetIterator);
 
645
                        dataSet->setLastUpdated(QDate(2001, 1, 7));
 
646
                        dataSet->setData(data);
597
647
                }
598
648
 
599
649
                // fifth data set
600
650
                {
 
651
 
 
652
                        DataSourcePtr dataSource(new DataSource());
 
653
                        dataSource->setFormatString("data source four %1 value");
 
654
                        userDataStore->insert("data-source-xfour", dataSource);
 
655
 
601
656
                        QVariantList data;
602
657
                        data << 25.0 << 30.0 << 0.0 << 0.0 << 0.0 << 0.0 << 0.0 << 0.0
603
658
                                        << 0.0 << 0.0 << 0.0 << 0.0 << 0.0 << 100.0 << 35.0;
604
 
                        UserData::iterator dataSetIterator = userData->find(
605
 
                                        "data-source-xfour");
606
 
                        UserData::DataSetPtr dataSet(*dataSetIterator);
607
 
                        dataSet->setFormatString("data source four %1 value");
608
 
                        dataSet->setData(QDate(2001, 1, 7), data);
 
659
                        UserData::iterator dataSetIterator = userData->insert(
 
660
                                        "data-source-xfour", DataSetPtr(new DataSet()));
 
661
                        DataSetPtr dataSet(*dataSetIterator);
 
662
                        dataSet->setLastUpdated(QDate(2001, 1, 7));
 
663
                        dataSet->setData(data);
609
664
                }
610
665
        }
611
666