Ugrás a tartalomhoz

Modul:Coordinate/tests

A Wikipédiából, a szabad enciklopédiából
A lap korábbi változatát látod, amilyen JulesWinnfield-hu (vitalap | szerkesztései) 2013. december 24., 02:12-kor történt szerkesztése után volt. Ez a változat jelentősen eltérhet az aktuális változattól.

Coordinate modul tesztek[mi ez?]

Név Várt Tényleges
Igen testCreate
testCoord é. sz. 47,05°, ny. h. 16,5° é. sz. 47,05°, ny. h. 16,50°47.050000°N 16.500000°W
Igen testFromString
Igen testEquals
Igen testNew
testFormat 47,621667, 16,871528 L, l
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: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 .. '&params=47.05;-16.5_type:waterbody é. sz. 47,05°, ny. h. 16,5°]' .. 
        '<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'})
    
    local text = '<span class="plainlinks nourlexpansion">[//tools.wmflabs.org/geohack/geohack.php?language=hu' .. 
        '&pagename=' .. pageName .. '&params=47_3_N_16_30_W é. sz. 47° 03′, ny. h. 16° 30′]' .. 
        '<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 .. '&params=43_28_N_79_22_W é. sz. 43° 28′, ny. h. 79° 22′]' .. 
        '<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><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 .. '&params=43_28_N_79_22_W ' .. 
        'é. sz. 43° 28′, ny. h. 79° 22′]<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></span></span>'
    self:assertResultEquals(text, '{{Koord/új|43|29|N|79|23|W|display=inline,title}}')
end

return suite