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

0001 /*
0002  * SPDX-FileCopyrightText: 2020-2021 Han Young <hanyoung@protonmail.com>
0003  *
0004  * SPDX-License-Identifier: LGPL-2.0-or-later
0005  */
0006 #include "dailyweatherforecasttest.h"
0007 #include <kweathercore/hourlyweatherforecast.h>
0008 #include <kweathercore/sunrise.h>
0009 
0010 using namespace KWeatherCore;
0011 
0012 void DailyForecastTest::testNull()
0013 {
0014     QCOMPARE(d1.isValid(), true);
0015 }
0016 
0017 void DailyForecastTest::testHourlyMerge()
0018 {
0019     for (int i = 0; i < 24; ++i) {
0020         HourlyWeatherForecast h(QDateTime::currentDateTime().addSecs(i * 3600));
0021         h.setWeatherDescription(QStringLiteral("sunny"));
0022         h.setWeatherIcon(QStringLiteral("sunny"));
0023         h.setTemperature(25);
0024         h.setPressure(100);
0025         h.setWindDirection(WindDirection::E);
0026         h.setFog(0.2);
0027         h.setUvIndex(0.8);
0028         h.setWindSpeed(5);
0029         h.setHumidity(0.1);
0030 
0031         d1 += h;
0032     }
0033     QCOMPARE(d1.isValid(), false);
0034 
0035     QCOMPARE(d1.hourlyWeatherForecast().size(), 24);
0036 }
0037 void DailyForecastTest::testDailyMerge()
0038 {
0039     const auto &vec = d1.hourlyWeatherForecast();
0040     for (auto &h : vec)
0041         d2 += h;
0042 
0043     QCOMPARE(d2.hourlyWeatherForecast().size(),
0044              d1.hourlyWeatherForecast().size());
0045 }
0046 void DailyForecastTest::testJson()
0047 {
0048     auto d3 = DailyWeatherForecast::fromJson(d2.toJson());
0049 
0050     QCOMPARE(d3.toJson(), d2.toJson());
0051 }
0052 void DailyForecastTest::testSunrise()
0053 {
0054     auto date = QDateTime::currentDateTime();
0055     Sunrise s;
0056     s.setSunRise(date);
0057     d2.setSunrise(s);
0058     QCOMPARE(d2.sunrise().sunRise(), date);
0059 }
0060 QTEST_MAIN(DailyForecastTest)