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 interp(s, tab)
  return (s:gsub('($%b{})', function(w) return tab[w:sub(3, -2)] or w end))
end

function suite:testDummy()

    self:assertEquals("a", "b", interp("${key}s is %{val}7.2f%", {key = "concentration", val = 56.2795} ))

end

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)
    self:assertEquals(54.762, 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:testParseDecimalWithOneTenthDegreePrecision()
	local frame = self.frame
    local c = Coordinate:new(frame)
    s = c:parseDecimal(60.398545, 1/10)

    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