File indexing completed on 2024-04-28 16:01:13

0001 /*
0002  * SPDX-FileCopyrightText: 2020-2021 Han Young <hanyoung@protonmail.com>
0003  *
0004  * SPDX-License-Identifier: LGPL-2.0-or-later
0005  */
0006 #include "sunrisetest.h"
0007 
0008 void SunriseTest::testJson()
0009 {
0010     auto date = QDateTime::currentDateTime();
0011     d1.setHighMoon({date, 0.1});
0012     d1.setLowMoon({date, 0.1});
0013     d1.setMoonPhase(0.5);
0014     d1.setMoonRise(date);
0015     d1.setMoonSet(date);
0016     d1.setSolarMidnight({date, 0.6});
0017     d1.setSolarNoon({date, 0.5});
0018     d1.setSunRise(date);
0019     d1.setSunSet(date);
0020     d2 = Sunrise::fromJson(d1.toJson());
0021 
0022     QCOMPARE(d2.highMoon(), d1.highMoon());
0023     QCOMPARE(std::abs(d2.highMoonTime().secsTo(d1.highMoonTime())) < 1, true);
0024     QCOMPARE(d2.lowMoon(), d1.lowMoon());
0025     QCOMPARE(std::abs(d2.lowMoonTime().secsTo(d1.lowMoonTime())) < 1, true);
0026     QCOMPARE(d2.moonPhase(), d1.moonPhase());
0027     QCOMPARE(std::abs(d2.moonRise().secsTo(d1.moonRise())) < 1, true);
0028     QCOMPARE(std::abs(d2.moonSet().secsTo(d1.moonSet())) < 1, true);
0029     QCOMPARE(d2.solarMidnight(), d1.solarMidnight());
0030     QCOMPARE(std::abs(d2.solarMidnightTime().secsTo(d1.solarMidnightTime())) <
0031                  1,
0032              true);
0033     QCOMPARE(d2.solarNoon(), d2.solarNoon());
0034     QCOMPARE(std::abs(d2.solarNoonTime().secsTo(d1.solarNoonTime())) < 1, true);
0035 }
0036 QTEST_MAIN(SunriseTest)