1+ <?php
2+
3+ namespace ProgrammatorDev \OpenWeatherMap \Test \Unit \OneCall ;
4+
5+ use ProgrammatorDev \OpenWeatherMap \Entity \Condition ;
6+ use ProgrammatorDev \OpenWeatherMap \Entity \OneCall \DayData ;
7+ use ProgrammatorDev \OpenWeatherMap \Entity \OneCall \MoonPhase ;
8+ use ProgrammatorDev \OpenWeatherMap \Entity \OneCall \Temperature ;
9+ use ProgrammatorDev \OpenWeatherMap \Entity \Wind ;
10+ use ProgrammatorDev \OpenWeatherMap \Test \AbstractTest ;
11+
12+ class DayDataTest extends AbstractTest
13+ {
14+ public function testMethods ()
15+ {
16+ $ entity = new DayData ([
17+ 'dt ' => 1715561801 ,
18+ 'pressure ' => 1000 ,
19+ 'humidity ' => 10 ,
20+ 'dew_point ' => 10 ,
21+ 'uvi ' => 1 ,
22+ 'clouds ' => 10 ,
23+ 'wind_speed ' => 10 ,
24+ 'wind_deg ' => 10 ,
25+ 'wind_gust ' => 10 ,
26+ 'weather ' => [
27+ [
28+ 'id ' => 200 ,
29+ 'main ' => 'name ' ,
30+ 'description ' => 'description ' ,
31+ 'icon ' => '01d '
32+ ]
33+ ],
34+ 'rain ' => 1 ,
35+ 'snow ' => 1 ,
36+ 'temp ' => [
37+ 'morn ' => 10 ,
38+ 'day ' => 15 ,
39+ 'eve ' => 15 ,
40+ 'night ' => 10 ,
41+ 'min ' => 10 ,
42+ 'max ' => 15 ,
43+ ],
44+ 'feels_like ' => [
45+ 'morn ' => 10 ,
46+ 'day ' => 15 ,
47+ 'eve ' => 15 ,
48+ 'night ' => 10
49+ ],
50+ 'pop ' => 1 ,
51+ 'summary ' => 'summary ' ,
52+ 'moon_phase ' => 1 ,
53+ 'moonrise ' => 1715561801 ,
54+ 'moonset ' => 1715616968 ,
55+ 'sunrise ' => 1715561801 ,
56+ 'sunset ' => 1715616968
57+ ]);
58+
59+ $ this ->assertInstanceOf (\DateTimeImmutable::class, $ entity ->getDateTime ());
60+ $ this ->assertSame (1000 , $ entity ->getAtmosphericPressure ());
61+ $ this ->assertSame (10 , $ entity ->getHumidity ());
62+ $ this ->assertSame (10.0 , $ entity ->getDewPoint ());
63+ $ this ->assertSame (1.0 , $ entity ->getUltraVioletIndex ());
64+ $ this ->assertSame (10 , $ entity ->getCloudiness ());
65+ $ this ->assertInstanceOf (Wind::class, $ entity ->getWind ());
66+ $ this ->assertContainsOnlyInstancesOf (Condition::class, $ entity ->getConditions ());
67+ $ this ->assertSame (1.0 , $ entity ->getRainVolume ());
68+ $ this ->assertSame (1.0 , $ entity ->getSnowVolume ());
69+ $ this ->assertInstanceOf (Temperature::class, $ entity ->getTemperature ());
70+ $ this ->assertInstanceOf (Temperature::class, $ entity ->getTemperatureFeelsLike ());
71+ $ this ->assertSame (100 , $ entity ->getPrecipitationProbability ());
72+ $ this ->assertSame ('summary ' , $ entity ->getSummary ());
73+ $ this ->assertInstanceOf (MoonPhase::class, $ entity ->getMoonPhase ());
74+ $ this ->assertInstanceOf (\DateTimeImmutable::class, $ entity ->getMoonriseAt ());
75+ $ this ->assertInstanceOf (\DateTimeImmutable::class, $ entity ->getMoonsetAt ());
76+ $ this ->assertInstanceOf (\DateTimeImmutable::class, $ entity ->getSunriseAt ());
77+ $ this ->assertInstanceOf (\DateTimeImmutable::class, $ entity ->getSunsetAt ());
78+ }
79+ }
0 commit comments