summaryrefslogtreecommitdiffstats
path: root/tests/auto/cpp2dtest/qgaxis-datetime/tst_datetimeaxis.cpp
blob: 8f8c7ff05b550702f34c4929f8dc2e1232ac7fbd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
// Copyright (C) 2024 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only

#include <QtGraphs/QDateTimeAxis>
#include <QtTest/QtTest>
#include "qtestcase.h"

class tst_datetimeaxis : public QObject
{
    Q_OBJECT

private slots:
    void initTestCase();
    void cleanupTestCase();
    void init();
    void cleanup();

    void construct();

    void initialProperties();
    void initializeProperties();
    void invalidProperties();

private:
    QDateTimeAxis *m_axis;
};

void tst_datetimeaxis::initTestCase() {}

void tst_datetimeaxis::cleanupTestCase() {}

void tst_datetimeaxis::init()
{
    m_axis = new QDateTimeAxis();
}

void tst_datetimeaxis::cleanup()
{
    delete m_axis;
}

void tst_datetimeaxis::construct()
{
    QDateTimeAxis *axis = new QDateTimeAxis();
    QVERIFY(axis);
    delete axis;
}

void tst_datetimeaxis::initialProperties()
{
    QVERIFY(m_axis);

    QCOMPARE(m_axis->min(),
             QDateTime(QDate(1970, 1, 1), QTime::fromMSecsSinceStartOfDay(0), QTimeZone::UTC));
    QCOMPARE(m_axis->max(),
             QDateTime(QDate(1970, 1, 1), QTime::fromMSecsSinceStartOfDay(0), QTimeZone::UTC)
                 .addYears(10));
    QCOMPARE(m_axis->labelFormat(), "dd-MMMM-yy");
    QCOMPARE(m_axis->subTickCount(), 0);
    QCOMPARE(m_axis->tickInterval(), 0.0);
}

void tst_datetimeaxis::initializeProperties()
{
    QVERIFY(m_axis);

    QSignalSpy minSpy(m_axis, &QDateTimeAxis::minChanged);
    QSignalSpy maxSpy(m_axis, &QDateTimeAxis::maxChanged);
    QSignalSpy labelFormatSpy(m_axis, &QDateTimeAxis::labelFormatChanged);
    QSignalSpy tickIntervalSpy(m_axis, &QDateTimeAxis::tickIntervalChanged);
    QSignalSpy subTickCountSpy(m_axis, &QDateTimeAxis::subTickCountChanged);

    m_axis->setMin(QDateTime(QDate::currentDate(), QTime::fromMSecsSinceStartOfDay(0)));
    m_axis->setMax(
        QDateTime(QDate::currentDate(), QTime::fromMSecsSinceStartOfDay(0), QTimeZone::UTC)
            .addYears(20));
    m_axis->setLabelFormat("yyyy");
    m_axis->setSubTickCount(2);
    m_axis->setTickInterval(0.5);

    QCOMPARE(m_axis->min(), QDateTime(QDate::currentDate(), QTime::fromMSecsSinceStartOfDay(0)));
    QCOMPARE(m_axis->max(),
             QDateTime(QDate::currentDate(), QTime::fromMSecsSinceStartOfDay(0), QTimeZone::UTC)
                 .addYears(20));
    QCOMPARE(m_axis->min().timeZone(), QTimeZone::utc());
    QCOMPARE(m_axis->max().timeZone(), QTimeZone::utc());
    QCOMPARE(m_axis->labelFormat(), "yyyy");
    QCOMPARE(m_axis->subTickCount(), 2);
    QCOMPARE(m_axis->tickInterval(), 0.5);

    QCOMPARE(minSpy.size(), 1);
    QCOMPARE(maxSpy.size(), 1);
    QCOMPARE(labelFormatSpy.size(), 1);
    QCOMPARE(tickIntervalSpy.size(), 1);
    QCOMPARE(subTickCountSpy.size(), 1);
}

void tst_datetimeaxis::invalidProperties()
{
    QVERIFY(m_axis);

    m_axis->setSubTickCount(-1);
    m_axis->setTickInterval(-1);

    QCOMPARE(m_axis->subTickCount(), 0);
    QCOMPARE(m_axis->tickInterval(), 0);
}

QTEST_MAIN(tst_datetimeaxis)
#include "tst_datetimeaxis.moc"