Modul:Coordinate/tests
Megjelenés
Coordinate modul tesztek[mi ez?]
Név | Várt | Tényleges | |
---|---|---|---|
![]() |
testCreate | ||
![]() |
testCoord | é. sz. 47° 03′, ny. h. 16° 30′ | é. sz. 47° 03′ 00″, ny. h. 16° 30′ 00″47.050000°N 16.500000°W |
![]() |
testFromString | ||
![]() |
testDetectPrecision | ||
![]() |
testEquals | ||
![]() |
testNew | ||
![]() |
testFormat |
local Coordinate = require('Modul:Coordinate')
local ScribuntoUnit = require('Modul:ScribuntoUnit')
local suite = ScribuntoUnit:new()
function suite:testCreate()
local lat, long = 47.498056, 19.038056
local coord = Coordinate.create(lat, long)
self:assertEquals(Coordinate, getmetatable(coord))
self:assertEquals(lat, coord.latitude)
self:assertEquals(long, coord.longitude)
end
function suite:testNew()
local lat, long = 47.498056, 19.038056
local coord = Coordinate:new{latitude = lat, longitude = long}
self:assertEquals(Coordinate, getmetatable(coord))
self:assertEquals(lat, coord.latitude)
self:assertEquals(long, coord.longitude)
self:assertEquals(nil, Coordinate:new{latitude = 47, longitude = 400})
end
function suite:testEquals()
local lat, long = 47.498056, 19.038056
local coord1 = Coordinate:new{latitude = lat, longitude = long}
local coord2 = Coordinate:new{latitude = lat, longitude = long}
self:assertTrue(coord1 == coord2)
end
function suite:testFormat()
local lat, long = 47.621667, 16.871528
local coord = Coordinate:new{latitude = lat, longitude = long}
self:assertEquals('47,621667, 16,871528', coord:format('%L, %l'))
self:assertEquals('É 47,621667°, K 16,871528°', coord:format('%I %L°, %i %l°'))
self:assertEquals('47° 37′ 18″ N, 16° 52′ 17.5″ E', coord:format('%D° %M′ %S″ %C, %d° %m′ %s″ %c'))
end
function suite:testFromString()
local coord1 = Coordinate:new{latitude = 47.621667, longitude = 16.871528}
local coord2 = Coordinate:new{latitude = 48.621667, longitude = 16.871528}
local coord3 = Coordinate:new{latitude = 49.621667, longitude = 16.871528}
self:assertEquals(coord1, Coordinate.fromString('47.621667, 16.871528'))
self:assertEquals(coord2, Coordinate.fromString('É 48,621667, K 16,871528'))
self:assertEquals(coord3, Coordinate.fromString('49° 37′ 18″ N, 16° 52′ 17.5″ E'))
self:assertEquals(nil, Coordinate.fromString('47, 400'))
end
function suite:testDetectPrecision()
self:assertEquals(Coordinate.PRECISION.MS10, Coordinate:new{latitude = 1 + 5 / 3600 / 100, longitude = 0}.precision)
end
function suite:testCoord()
local pageName = mw.uri.encode(mw.title.getCurrentTitle().prefixedText, 'WIKI')
local text = '<span class="plainlinks nourlexpansion">[//tools.wmflabs.org/geohack/geohack.php?language=hu' ..
'&pagename=' .. pageName .. '¶ms=47_3_N_16_30_W_type:waterbody <span style="white-space:nowrap;">é. sz. 47° 03′</span>, ' ..
'<span style="white-space:nowrap;">ny. h. 16° 30′</span>]' ..
'<span style="display:none;" class="h-geo geo"><span class="p-latitude latitude">47.05</span>, ' ..
'<span class="p-longitude longitude">-16.5</span></span></span>'
self:assertEquals(text, Coordinate.coord{'47.05', '-16.5', 'type:waterbody', format = 'dms'})
local text = '<span class="plainlinks nourlexpansion">[//tools.wmflabs.org/geohack/geohack.php?language=hu' ..
'&pagename=' .. pageName .. '¶ms=47_3_N_16_30_W <span style="white-space:nowrap;">é. sz. 47° 03′</span>, ' ..
'<span style="white-space:nowrap;">ny. h. 16° 30′</span>]' ..
'<span style="display:none;" class="h-geo geo"><span class="p-latitude latitude">47.05</span>, ' ..
'<span class="p-longitude longitude">-16.5</span></span></span>'
self:assertEquals(text, Coordinate.coord{'47.05', '-16.5', format = 'dms'})
local text = '<span class="plainlinks nourlexpansion">[//tools.wmflabs.org/geohack/geohack.php?language=hu' ..
'&pagename=' .. pageName .. '¶ms=43.651234;-79.383333 <span style="white-space:nowrap;">é. sz. 43,651234°</span>, ' ..
'<span style="white-space:nowrap;">ny. h. 79,383333°</span>]' ..
'<span style="display:none;" class="h-geo geo"><span class="p-latitude latitude">43.651234</span>, ' ..
'<span class="p-longitude longitude">-79.383333</span></span></span>'
self:assertResultEquals(text, '{{Koord|43.651234|-79.383333}}')
local text = '<span class="plainlinks nourlexpansion">[//tools.wmflabs.org/geohack/geohack.php?language=hu' ..
'&pagename=' .. pageName .. '¶ms=43.65;-79.38 <span style="white-space:nowrap;">é. sz. 43,65°</span>, ' ..
'<span style="white-space:nowrap;">ny. h. 79,38°</span>]' ..
'<span style="display:none;" class="h-geo geo"><span class="p-latitude latitude">43.65</span>, ' ..
'<span class="p-longitude longitude">-79.38</span></span></span>'
self:assertResultEquals(text, '{{Koord|43.65|-79.38}}')
local text = '<span class="plainlinks nourlexpansion">[//tools.wmflabs.org/geohack/geohack.php?language=hu' ..
'&pagename=' .. pageName .. '¶ms=43.65;-79.38 <span style="white-space:nowrap;">é. sz. 43,6500°</span>, ' ..
'<span style="white-space:nowrap;">ny. h. 79,3800°</span>]' ..
'<span style="display:none;" class="h-geo geo"><span class="p-latitude latitude">43.65</span>, ' ..
'<span class="p-longitude longitude">-79.38</span></span></span>'
self:assertResultEquals(text, '{{Koord|43.6500|-79.3800}}')
local text = '<span class="plainlinks nourlexpansion">[//tools.wmflabs.org/geohack/geohack.php?language=hu' ..
'&pagename=' .. pageName .. '¶ms=43.651234;-79.383333 <span style="white-space:nowrap;">é. sz. 43,651234°</span>, ' ..
'<span style="white-space:nowrap;">ny. h. 79,383333°</span>]' ..
'<span style="display:none;" class="h-geo geo"><span class="p-latitude latitude">43.651234</span>, ' ..
'<span class="p-longitude longitude">-79.383333</span></span></span>'
self:assertResultEquals(text, '{{Koord|43.651234|N|79.383333|W}}')
local text = '<span class="plainlinks nourlexpansion">[//tools.wmflabs.org/geohack/geohack.php?language=hu' ..
'&pagename=' .. pageName .. '¶ms=43_29_N_79_23_W <span style="white-space:nowrap;">é. sz. 43° 29′</span>, ' ..
'<span style="white-space:nowrap;">ny. h. 79° 23′</span>]' ..
'<span style="display:none;" class="h-geo geo"><span class="p-latitude latitude">43.483333333333</span>, ' ..
'<span class="p-longitude longitude">-79.383333333333</span></span></span>'
self:assertResultEquals(text, '{{Koord|43|29|N|79|23|W}}')
local text = '<span class="plainlinks nourlexpansion">[//tools.wmflabs.org/geohack/geohack.php?language=hu' ..
'&pagename=' .. pageName .. '¶ms=43_29_4_N_79_23_0_W <span style="white-space:nowrap;">é. sz. 43° 29′ 04″</span>, ' ..
'<span style="white-space:nowrap;">ny. h. 79° 23′ 00″</span>]' ..
'<span style="display:none;" class="h-geo geo"><span class="p-latitude latitude">43.484444444444</span>, ' ..
'<span class="p-longitude longitude">-79.383333333333</span></span></span>'
self:assertResultEquals(text, '{{Koord|43|29|4|N|79|23|0|W}}')
local text = '<span class="plainlinks nourlexpansion">[//tools.wmflabs.org/geohack/geohack.php?language=hu' ..
'&pagename=' .. pageName .. '¶ms=43_29_4.5_N_79_23_0.5_W <span style="white-space:nowrap;">é. sz. 43° 29′ 04″</span>, ' ..
'<span style="white-space:nowrap;">ny. h. 79° 23′ 00″</span>]' ..
'<span style="display:none;" class="h-geo geo"><span class="p-latitude latitude">43.484583333333</span>, ' ..
'<span class="p-longitude longitude">-79.383472222222</span></span></span>'
self:assertResultEquals(text, '{{Koord|43|29|4.5|N|79|23|0.5|W}}')
local text = '<span class="plainlinks nourlexpansion">[//tools.wmflabs.org/geohack/geohack.php?language=hu' ..
'&pagename=' .. pageName .. '¶ms=55.752222;37.615556 <span style="white-space:nowrap;">é. sz. 55,752222°</span>, ' ..
'<span style="white-space:nowrap;">k. h. 37,615556°</span>]' ..
'<span style="display:none;" class="h-geo geo"><span class="p-latitude latitude">55.752222</span>, ' ..
'<span class="p-longitude longitude">37.615556</span></span></span>'
self:assertResultEquals(text, '{{Koord|55.752222|N|37.615556|E}}')
local text = '<span class="plainlinks nourlexpansion">[//tools.wmflabs.org/geohack/geohack.php?language=hu' ..
'&pagename=' .. pageName .. '¶ms=55.752222;37.615556 <span style="white-space:nowrap;">é. sz. 55° 45′ 08″</span>, ' ..
'<span style="white-space:nowrap;">k. h. 37° 36′ 56″</span>]' ..
'<span style="display:none;" class="h-geo geo"><span class="p-latitude latitude">55.752222</span>, ' ..
'<span class="p-longitude longitude">37.615556</span></span></span>'
self:assertResultEquals(text, '{{Koord|55.752222|N|37.615556|E|format=dms}}')
local text = '<span class="plainlinks nourlexpansion">[//tools.wmflabs.org/geohack/geohack.php?language=hu' ..
'&pagename=' .. pageName .. '¶ms=39.098095;-94.587307 <span style="white-space:nowrap;">é. sz. 39° 05′ 53″</span>, ' ..
'<span style="white-space:nowrap;">ny. h. 94° 35′ 14″</span>]' ..
'<span style="display:none;" class="h-geo geo"><span class="p-latitude latitude">39.098095</span>, ' ..
'<span class="p-longitude longitude">-94.587307</span></span></span>'
self:assertResultEquals(text, '{{Koord|39.098095|-94.587307|format=dms}}')
local text = '<span class="plainlinks nourlexpansion">[//tools.wmflabs.org/geohack/geohack.php?language=hu' ..
'&pagename=' .. pageName .. '¶ms=55.752222;37.615556&title=Moscow <span style="white-space:nowrap;">é. sz. 55,752222°</span>, ' ..
'<span style="white-space:nowrap;">k. h. 37,615556°</span>]' ..
'<span style="display:none;" class="h-geo geo"><span class="p-latitude latitude">55.752222</span>, ' ..
'<span class="p-longitude longitude">37.615556</span></span></span>'
self:assertResultEquals(text, '{{Koord|55.752222|N|37.615556|E|format=dec|name=Moscow}}')
local text = '<span class="plainlinks nourlexpansion">[//tools.wmflabs.org/geohack/geohack.php?language=hu' ..
'&pagename=' .. pageName .. '¶ms=33_55_S_18_25_E <span style="white-space:nowrap;">d. sz. 33° 55′</span>, ' ..
'<span style="white-space:nowrap;">k. h. 18° 25′</span>]' ..
'<span style="display:none;" class="h-geo geo"><span class="p-latitude latitude">-33.916666666667</span>, ' ..
'<span class="p-longitude longitude">18.416666666667</span></span></span>'
self:assertResultEquals(text, '{{Koord|33|55|S|18|25|E}}')
local text = '<span class="plainlinks nourlexpansion">[//tools.wmflabs.org/geohack/geohack.php?language=hu' ..
'&pagename=' .. pageName .. '¶ms=35_0_N_105_0_E <span style="white-space:nowrap;">é. sz. 35° 00′</span>, ' ..
'<span style="white-space:nowrap;">k. h. 105° 00′</span>]' ..
'<span style="display:none;" class="h-geo geo"><span class="p-latitude latitude">35</span>, ' ..
'<span class="p-longitude longitude">105</span></span></span>'
self:assertResultEquals(text, '{{Koord|35|00|N|105|00|E}}')
local text = '<span class="plainlinks nourlexpansion">[//tools.wmflabs.org/geohack/geohack.php?language=hu' ..
'&pagename=' .. pageName .. '¶ms=22_54_30_S_43_14_37_W <span style="white-space:nowrap;">d. sz. 22° 54′ 30″</span>, ' ..
'<span style="white-space:nowrap;">ny. h. 43° 14′ 37″</span>]' ..
'<span style="display:none;" class="h-geo geo"><span class="p-latitude latitude">-22.908333333333</span>, ' ..
'<span class="p-longitude longitude">-43.243611111111</span></span></span>'
self:assertResultEquals(text, '{{Koord|22|54|30|S|43|14|37|W}}')
local text = '<span class="plainlinks nourlexpansion">[//tools.wmflabs.org/geohack/geohack.php?language=hu' ..
'&pagename=' .. pageName .. '¶ms=-22;-43 <span style="white-space:nowrap;">d. sz. 22°</span>, ' ..
'<span style="white-space:nowrap;">ny. h. 43°</span>]' ..
'<span style="display:none;" class="h-geo geo"><span class="p-latitude latitude">-22</span>, ' ..
'<span class="p-longitude longitude">-43</span></span></span>'
self:assertResultEquals(text, '{{Koord|22|S|43|W}}')
local text = '<span class="plainlinks nourlexpansion">[//tools.wmflabs.org/geohack/geohack.php?language=hu' ..
'&pagename=' .. pageName .. '¶ms=52_28_N_1_55_W_region:GB_type:city <span style="white-space:nowrap;">é. sz. 52° 28′</span>, ' ..
'<span style="white-space:nowrap;">ny. h. 1° 55′</span>]' ..
'<span style="display:none;" class="h-geo geo"><span class="p-latitude latitude">52.466666666667</span>, ' ..
'<span class="p-longitude longitude">-1.9166666666667</span></span></span>Notes' ..
'<span style="font-size:small;"><span id="coordinates">[[Földrajzi koordináta-rendszer|Koordináták]]: ' ..
'<span class="plainlinks nourlexpansion">[//tools.wmflabs.org/geohack/geohack.php?language=hu' ..
'&pagename=' .. pageName .. '¶ms=52_28_N_1_55_W_region:GB_type:city <span style="white-space:nowrap;">é. sz. 52° 28′</span>, ' ..
'<span style="white-space:nowrap;">ny. h. 1° 55′</span>]' ..
'<span style="display:none;" class="h-geo geo"><span class="p-latitude latitude">52.466666666667</span>, ' ..
'<span class="p-longitude longitude">-1.9166666666667</span></span></span>Notes</span></span>'
self:assertResultEquals(text, '{{Koord|52|28|N|1|55|W|region:GB_type:city|notes=Notes|display=inline,title}}')
end
return suite