Hopp til innhold

Modul:Coordinate/testtilfeller

Fra Wikipedia, den frie encyklopedi


local Coordinate = require('Module:Coordinate')
local ScribuntoUnit = require('Module:ScribuntoUnit')
local suite = ScribuntoUnit:new()


function suite:testParseDecimalWithArcMilliSecondPrecision()
	local frame = self.frame
    local c = Coordinate:new(frame)
    s = c:parseDecimal(60.398545, 1/3600000)

    self:assertEquals(60, s.deg)
    self:assertEquals(23, s.min)
    -- TODO: ScribuntoUnit should have a method to assert floats equal within some precision
    self:assertEquals(tostring(54.762), tostring(s.sec))
end

function suite:testParseDecimalWithArcSecondPrecision()
	local frame = self.frame
    local c = Coordinate:new(frame)
    s = c:parseDecimal(60.398545, 1/3600)

    self:assertEquals(60, s.deg)
    self:assertEquals(23, s.min)
    self:assertEquals(55, s.sec)
end

function suite:testParseDecimalWithArcMinutePrecision()
	local frame = self.frame
    local c = Coordinate:new(frame)
    s = c:parseDecimal(60.398545, 1/60)

    self:assertEquals(60, s.deg)
    self:assertEquals(24, s.min)
    self:assertEquals(nil, s.sec)
end

function suite:testParseDecimalWithDegreePrecision()
	local frame = self.frame
    local c = Coordinate:new(frame)
    s = c:parseDecimal(60.398545, 1)

    self:assertEquals(60, s.deg)
    self:assertEquals(nil, s.min)
    self:assertEquals(nil, s.sec)
end

return suite