FakeData.php 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  1. <?php
  2. namespace Cmfcmf\OpenWeatherMap\Tests;
  3. class FakeData
  4. {
  5. const WEATHER_GROUP_JSON = '{
  6. "list":[{
  7. "id":1851632,
  8. "dt":1406106000,
  9. "coord":{"lon":138.933334,"lat":34.966671},
  10. "sys":{"type":3,"id":168940,"message":0.0297,"country":"US","sunrise":1427723751,"sunset":1427768967},
  11. "name":"Shuzenji",
  12. "main":{
  13. "temp":298.77,
  14. "temp_min":298.77,
  15. "temp_max":298.774,
  16. "pressure":1005.93,
  17. "sea_level":1018.18,
  18. "grnd_level":1005.93,
  19. "humidity":87
  20. },
  21. "weather":[{"id":804,"main":"Clouds","description":"overcast clouds","icon":"04d"}],
  22. "clouds":{"all":88},
  23. "wind":{"speed":5.71,"deg":229.501},
  24. "dt_txt":"2014-07-23 09:00:00"
  25. },{
  26. "id":1851632,
  27. "dt":1406106000,
  28. "coord":{"lon":138.933334,"lat":34.966671},
  29. "sys":{"type":3,"id":168940,"message":0.0297,"country":"US","sunrise":1427723751,"sunset":1427768967},
  30. "name":"Shuzenji",
  31. "main":{
  32. "temp":298.77,
  33. "temp_min":298.77,
  34. "temp_max":298.774,
  35. "pressure":1005.93,
  36. "sea_level":1018.18,
  37. "grnd_level":1005.93,
  38. "humidity":87
  39. },
  40. "weather":[{"id":804,"main":"Clouds","description":"overcast clouds","icon":"04d"}],
  41. "clouds":{"all":88},
  42. "wind":{"speed":5.71,"deg":229.501},
  43. "dt_txt":"2014-07-23 09:00:00"
  44. }]
  45. }';
  46. public static function forecastXML()
  47. {
  48. return '<weatherdata>
  49. <location>
  50. <name>Berlin</name>
  51. <type></type>
  52. <country>DE</country>
  53. <timezone></timezone>
  54. <location altitude="0" latitude="52.524368" longitude="13.41053" geobase="geonames" geobaseid="2950159"></location>
  55. </location>
  56. <credit></credit>
  57. <meta>
  58. <lastupdate></lastupdate>
  59. <calctime>0.0215</calctime>
  60. <nextupdate>
  61. </nextupdate>
  62. </meta>
  63. <sun rise="2016-12-28T07:17:18" set="2016-12-28T14:59:55"></sun>
  64. <forecast>
  65. <time day="' . date('Y-m-d', time() + 0) . '">
  66. <symbol number="500" name="light rain" var="10d"></symbol>
  67. <precipitation value="0.25" type="rain"></precipitation>
  68. <windDirection deg="315" code="NW" name="Northwest"></windDirection>
  69. <windSpeed mps=" 4.38" name="Gentle Breeze"></windSpeed>
  70. <temperature day="41" min="40.59" max="41" night="40.59" eve="41" morn="41"></temperature>
  71. <pressure unit="hPa" value="1048.25"></pressure>
  72. <humidity value="97" unit="%"></humidity>
  73. <clouds value="overcast clouds" all="92" unit="%"></clouds>
  74. </time>
  75. <time day="' . date('Y-m-d', time() + 3600) . '">
  76. <symbol number="500" name="light rain" var="10d"></symbol>
  77. <precipitation value="0.24" type="rain"></precipitation>
  78. <windDirection deg="253" code="WSW" name="West-southwest"></windDirection>
  79. <windSpeed mps="6.2" name="Moderate breeze"></windSpeed>
  80. <temperature day="40.14" min="28.96" max="40.14" night="28.96" eve="32.11" morn="39.06"></temperature>
  81. <pressure unit="hPa" value="1048.09"></pressure>
  82. <humidity value="97" unit="%"></humidity>
  83. <clouds value="clear sky" all="0" unit="%"></clouds>
  84. </time>
  85. </forecast>
  86. </weatherdata>';
  87. }
  88. const WEATHER_HISTORY_JSON = '{
  89. "cod":"200","calctime":"123456789","message":0.0032,"city_id":{"id":1851632,"name":"Shuzenji","coord":{"lon":138.933334,"lat":34.966671},"country":"JP"},
  90. "cnt":10,
  91. "list":[{
  92. "dt":1406080800,
  93. "temp":{
  94. "day":297.77,
  95. "min":293.52,
  96. "max":297.77,
  97. "night":293.52,
  98. "eve":297.77,
  99. "morn":297.77
  100. },
  101. "pressure":925.04,
  102. "humidity":76,
  103. "weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],
  104. "main":{"temp":306.15,"pressure":1013,"humidity":44,"temp_min":306,"temp_max":306},
  105. "clouds":{"all":90},
  106. "wind":{"speed":5.71,"deg":229.501}
  107. },{
  108. "dt":1406080800,
  109. "temp":{
  110. "day":297.77,
  111. "min":293.52,
  112. "max":297.77,
  113. "night":293.52,
  114. "eve":297.77,
  115. "morn":297.77
  116. },
  117. "pressure":925.04,
  118. "humidity":76,
  119. "weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],
  120. "main":{"temp":306.15,"pressure":1013,"humidity":44,"temp_min":306,"temp_max":306},
  121. "clouds":{"all":90},
  122. "wind":{"speed":5.71,"deg":229.501}
  123. }]
  124. }';
  125. const WEATHER_HISTORY_WITH_COUNTRY_JSON = '{
  126. "cod":"200","calctime":"123456789","message":0.0032,"city_id":{"id":1851632,"name":"Shuzenji","coord":{"lon":138.933334,"lat":34.966671},"country":"JP"},
  127. "cnt":1,
  128. "list":[{
  129. "dt":1406080800,
  130. "temp":{
  131. "day":297.77,
  132. "min":293.52,
  133. "max":297.77,
  134. "night":293.52,
  135. "eve":297.77,
  136. "morn":297.77
  137. },
  138. "pressure":925.04,
  139. "humidity":76,
  140. "weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],
  141. "main":{"temp":306.15,"pressure":1013,"humidity":44,"temp_min":306,"temp_max":306},
  142. "clouds":{"all":90},
  143. "wind":{"speed":5.71,"deg":229.501}
  144. }]
  145. }';
  146. const WEATHER_HISTORY_WITH_RAIN_JSON = '{
  147. "cod":"200","calctime":"123456789","message":0.0032,"city_id":{"id":1851632,"name":"Shuzenji","coord":{"lon":138.933334,"lat":34.966671},"country":"JP"},
  148. "cnt":1,
  149. "list":[{
  150. "dt":1406080800,
  151. "temp":{
  152. "day":297.77,
  153. "min":293.52,
  154. "max":297.77,
  155. "night":293.52,
  156. "eve":297.77,
  157. "morn":297.77
  158. },
  159. "pressure":925.04,
  160. "humidity":76,
  161. "weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],
  162. "main":{"temp":306.15,"pressure":1013,"humidity":44,"temp_min":306,"temp_max":306},
  163. "clouds":{"all":90},
  164. "wind":{"speed":5.71,"deg":229.501},
  165. "rain":{"3h":3}
  166. }]
  167. }';
  168. const CURRENT_WEATHER_XML = <<<XML
  169. <current>
  170. <city id="2950159" name="Berlin">
  171. <coord lon="13.41" lat="52.52"></coord>
  172. <country>DE</country>
  173. <sun rise="2017-01-02T07:16:51" set="2017-01-02T15:04:50"></sun>
  174. </city>
  175. <temperature value="36.48" min="35.6" max="37.4" unit="fahrenheit"></temperature>
  176. <humidity value="86" unit="%"></humidity>
  177. <pressure value="1014" unit="hPa"></pressure>
  178. <wind>
  179. <speed value="9.17" name="Fresh Breeze"></speed>
  180. <gusts></gusts>
  181. <direction value="300" code="WNW" name="West-northwest"></direction>
  182. </wind>
  183. <clouds value="75" name="broken clouds"></clouds>
  184. <visibility value="8000"></visibility>
  185. <precipitation mode="no"></precipitation>
  186. <weather number="500" value="light rain" icon="10d"></weather>
  187. <lastupdate value="2017-01-02T12:20:00"></lastupdate>
  188. </current>
  189. XML;
  190. }