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