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)