Moduuli:Värit/testit
✓ Kaikki testit läpäisty.
Testi | Odotettu | Tulos | |
---|---|---|---|
✓ | testi RGB → HSL → RGB palautuu alkuperäiseen | ||
✓ | testi Värin voi antaa muodossa gray(x.y) | ||
✓ | testi Värin voi antaa muodossa rgb(x, y, z) | ||
✓ | testi Värin voi muuttaa muotoon rgb(a.b,c.d,e.f) |
-- Unit tests for [[Module:Värit]].
local ScribuntoUnit = require('Module:ScribuntoUnit')
local suite = ScribuntoUnit:new()
local libName = 'Värit'
-- Helper to run all tests using sandbox version of the library from the debug console. To run against main lib, use =p.run()
function suite.runSandbox()
local frame = mw.getCurrentFrame():newChild{title='testit', args={module=libName .. '/hiekkalaatikko', displayMode='log'}}
return suite.run(frame)
end
-- Allow test runner to use the sandbox and the primary versions of the library with the same testcases
function suite:module()
return require('Moduuli:' .. (self.frame and self.frame.args.module or libName))
end
--[[
Library-specific tests
]]
local EPSILON = 1E-12
suite["testi Värin voi antaa muodossa rgb(x, y, z)"] = function (self)
local m = self:module()
self:assertEquals("#000000", m.alter_color{ color = "rgb(0, 0, 0)", output = "hex6" })
self:assertEquals("#7f7f7f", m.alter_color{ color = "rgb(127, 127, 127)", output = "hex6" })
self:assertEquals("#ffffff", m.alter_color{ color = "rgb(255, 255, 255)", output = "hex6" })
self:assertEquals("#ff0000", m.alter_color{ color = "rgb(255, 0, 0)", output = "hex6" })
self:assertEquals("#00ff00", m.alter_color{ color = "rgb(0, 255, 0)", output = "hex6" })
self:assertEquals("#0000ff", m.alter_color{ color = "rgb(0, 0, 255)", output = "hex6" })
self:assertEquals("#ffff00", m.alter_color{ color = "rgb(255, 255, 0)", output = "hex6" })
self:assertEquals("#ff00ff", m.alter_color{ color = "rgb(255, 0, 255)", output = "hex6" })
self:assertEquals("#00ff00", m.alter_color{ color = "rgb(0, 255, 0)", output = "hex6" })
self:assertEquals("#00ffff", m.alter_color{ color = "rgb(0, 255, 255)", output = "hex6" })
end
suite["testi Värin voi muuttaa muotoon rgb(a.b,c.d,e.f)"] = function (self)
local m = self:module()
self:assertEquals("rgb(1.0,1.0,1.0)", m.alter_color{ color = "#ffffff", output = "rgb0.1" })
--self:assertEquals("rgb(0.5,0.5,0.5)", m.alter_color{ color = "#808080", output = "rgb0.1" })
self:assertEquals("rgb(0.0,0.0,0.0)", m.alter_color{ color = "#000000", output = "rgb0.1" })
end
suite["testi Värin voi antaa muodossa gray(x.y)"] = function (self)
local m = self:module()
self:assertEquals("#000000", m.alter_color{ color = "gray(0.0)", output = "hex6" })
self:assertEquals("#7f7f7f", m.alter_color{ color = "gray(0.5)", output = "hex6" })
self:assertEquals("#ffffff", m.alter_color{ color = "gray(1.0)", output = "hex6" })
end
suite["testi RGB → HSL → RGB palautuu alkuperäiseen"] = function (self)
local m = self:module()
local function helper(R, G, B)
local H2, S2, L2 = m.rgb_to_hsl(R, G, B)
local R3, G3, B3 = m.hsl_to_rgb_(H2, S2, L2)
self:assertWithinDelta(R, R3, EPSILON, R3 .. " != " .. R .. "; syöte: " .. R .. ", " .. G .. ", " .. B)
self:assertWithinDelta(G, G3, EPSILON, G3 .. " != " .. G .. "; syöte: " .. R .. ", " .. G .. ", " .. B)
self:assertWithinDelta(B, B3, EPSILON, B3 .. " != " .. B .. "; syöte: " .. R .. ", " .. G .. ", " .. B)
end
helper(0, 0, 0)
helper(0, 0, 255)
helper(0, 255, 0)
helper(0, 255, 255)
helper(255, 0, 0)
helper(255, 0, 255)
helper(255, 255, 0)
helper(255, 255, 255)
helper(127, 127, 255)
helper(127, 255, 127)
helper(127, 255, 255)
helper(255, 127, 127)
helper(255, 127, 255)
helper(255, 255, 127)
helper(5, 62, 35)
helper(206, 40, 103)
helper(34, 28, 255)
helper(56, 131, 214)
helper(157, 76, 163)
helper(134, 126, 249)
helper(75, 197, 135)
helper(197, 103, 228)
helper(73, 90, 206)
helper(235, 18, 243)
helper(135, 22, 50)
helper(170, 228, 89)
helper(17, 6, 117)
helper(17, 61, 248)
helper(231, 217, 68)
helper(138, 96, 194)
helper(131, 171, 136)
helper(11, 112, 238)
helper(238, 184, 73)
helper(189, 164, 91)
helper(176, 43, 113)
helper(225, 212, 85)
helper(59, 228, 90)
helper(176, 244, 151)
helper(168, 219, 113)
helper(236, 102, 208)
helper(175, 233, 124)
helper(56, 243, 235)
helper(38, 225, 164)
helper(111, 158, 72)
helper(201, 79, 114)
helper(58, 48, 71)
helper(142, 107, 44)
helper(232, 27, 33)
helper(127, 194, 252)
helper(239, 175, 98)
helper(192, 95, 76)
helper(60, 150, 63)
helper(39, 187, 32)
helper(203, 42, 190)
helper(20, 243, 14)
helper(133, 45, 62)
helper(204, 187, 168)
helper(247, 164, 194)
helper(24, 35, 133)
helper(20, 18, 53)
helper(118, 210, 147)
helper(193, 14, 41)
helper(255, 53, 227)
helper(32, 255, 14)
helper(222, 19, 2)
helper(236, 152, 46)
helper(42, 100, 233)
helper(210, 92, 141)
helper(148, 116, 176)
helper(26, 136, 194)
helper(78, 254, 148)
helper(224, 191, 161)
helper(10, 191, 213)
helper(236, 223, 212)
helper(250, 190, 231)
helper(251, 171, 127)
helper(42, 212, 227)
helper(20, 166, 64)
helper(161, 59, 179)
helper(81, 84, 60)
helper(19, 162, 58)
helper(167, 131, 248)
helper(72, 140, 184)
helper(29, 121, 152)
helper(241, 115, 86)
helper(217, 111, 1)
helper(88, 153, 213)
helper(60, 173, 124)
helper(123, 78, 182)
helper(47, 159, 11)
helper(106, 178, 172)
helper(163, 89, 48)
helper(156, 160, 187)
helper(84, 189, 52)
helper(235, 175, 167)
helper(66, 136, 23)
helper(67, 224, 175)
helper(24, 29, 93)
helper(148, 152, 170)
helper(74, 198, 74)
helper(85, 49, 252)
helper(1, 211, 85)
helper(48, 112, 245)
helper(235, 196, 179)
helper(31, 175, 98)
helper(198, 241, 234)
helper(220, 52, 203)
helper(140, 76, 231)
helper(232, 223, 128)
helper(147, 42, 70)
helper(221, 126, 119)
helper(217, 127, 75)
helper(47, 175, 186)
helper(36, 154, 126)
helper(173, 152, 15)
helper(143, 143, 61)
helper(4, 87, 2)
helper(236, 153, 196)
helper(227, 237, 44)
helper(114, 124, 202)
helper(163, 246, 39)
helper(74, 224, 93)
helper(230, 190, 121)
helper(69, 241, 31)
helper(221, 158, 183)
helper(236, 46, 71)
helper(42, 51, 159)
helper(45, 32, 58)
helper(242, 3, 41)
helper(30, 117, 165)
helper(234, 25, 156)
helper(18, 100, 126)
helper(111, 74, 62)
helper(233, 144, 48)
helper(8, 110, 207)
helper(192, 90, 254)
helper(9, 133, 51)
helper(169, 178, 83)
helper(227, 164, 87)
helper(12, 195, 204)
helper(178, 173, 230)
helper(80, 191, 75)
helper(207, 48, 150)
helper(13, 25, 40)
helper(62, 34, 150)
helper(14, 226, 241)
helper(14, 235, 119)
helper(65, 149, 43)
helper(149, 121, 207)
helper(237, 134, 148)
helper(186, 57, 67)
helper(162, 137, 4)
helper(238, 88, 52)
helper(133, 102, 78)
helper(174, 164, 113)
helper(68, 179, 84)
helper(54, 193, 65)
helper(174, 4, 215)
helper(218, 153, 81)
helper(170, 134, 216)
helper(64, 65, 18)
helper(131, 226, 155)
helper(135, 209, 244)
helper(188, 87, 91)
helper(11, 6, 1)
helper(124, 74, 180)
helper(209, 129, 119)
helper(20, 48, 123)
helper(236, 11, 21)
helper(62, 181, 155)
helper(23, 245, 221)
helper(42, 121, 193)
helper(199, 1, 147)
helper(188, 189, 235)
helper(24, 200, 241)
helper(25, 70, 61)
helper(207, 24, 190)
helper(70, 44, 239)
helper(194, 24, 250)
helper(216, 87, 176)
helper(116, 110, 166)
helper(82, 153, 33)
helper(20, 96, 34)
helper(168, 29, 224)
helper(149, 53, 170)
helper(135, 79, 240)
helper(196, 31, 9)
helper(131, 101, 53)
helper(115, 40, 78)
helper(111, 1, 165)
helper(32, 117, 21)
helper(199, 200, 174)
helper(233, 221, 15)
helper(12, 134, 45)
helper(237, 27, 98)
helper(152, 162, 178)
helper(138, 103, 209)
helper(147, 234, 56)
helper(202, 95, 97)
helper(24, 206, 98)
helper(191, 238, 216)
helper(212, 182, 161)
helper(132, 159, 128)
helper(148, 171, 7)
helper(193, 152, 35)
helper(36, 49, 198)
helper(216, 187, 46)
helper(170, 79, 26)
helper(227, 26, 122)
helper(69, 50, 73)
helper(168, 241, 56)
helper(129, 198, 238)
helper(36, 75, 143)
helper(164, 222, 59)
helper(172, 160, 212)
helper(208, 197, 7)
helper(151, 157, 194)
helper(198, 72, 19)
helper(225, 44, 45)
helper(92, 112, 96)
helper(165, 25, 83)
helper(222, 154, 26)
helper(206, 191, 101)
helper(93, 100, 69)
helper(153, 17, 229)
helper(110, 224, 172)
helper(117, 120, 74)
helper(57, 62, 147)
helper(77, 32, 191)
helper(122, 123, 49)
helper(219, 34, 74)
helper(47, 0, 229)
helper(73, 206, 165)
helper(176, 44, 11)
helper(245, 197, 28)
helper(220, 52, 253)
helper(137, 170, 118)
helper(212, 227, 181)
helper(103, 49, 213)
helper(39, 171, 82)
helper(88, 135, 116)
helper(163, 182, 117)
helper(138, 1, 68)
helper(49, 176, 113)
helper(60, 166, 55)
helper(89, 131, 108)
helper(87, 12, 24)
helper(207, 224, 251)
helper(133, 72, 45)
helper(91, 111, 217)
helper(174, 200, 98)
helper(35, 108, 26)
helper(153, 246, 27)
helper(222, 40, 204)
helper(80, 100, 116)
helper(136, 189, 247)
helper(245, 22, 5)
helper(13, 228, 229)
helper(10, 106, 46)
helper(56, 198, 158)
helper(18, 117, 104)
helper(117, 153, 213)
helper(144, 51, 204)
helper(172, 18, 245)
helper(121, 98, 91)
helper(238, 233, 26)
helper(230, 223, 48)
helper(235, 236, 22)
helper(210, 246, 129)
helper(1, 48, 73)
helper(160, 66, 190)
helper(9, 184, 89)
helper(223, 72, 140)
helper(172, 244, 159)
helper(163, 110, 2)
helper(254, 92, 235)
helper(25, 67, 204)
helper(74, 47, 186)
helper(97, 1, 178)
helper(227, 2, 226)
helper(45, 162, 37)
helper(236, 172, 221)
helper(70, 139, 39)
helper(212, 56, 28)
helper(115, 219, 139)
helper(118, 218, 231)
helper(98, 243, 44)
helper(48, 63, 91)
helper(234, 160, 93)
helper(157, 131, 96)
helper(128, 176, 4)
helper(166, 157, 176)
helper(133, 228, 61)
helper(172, 184, 118)
helper(201, 45, 82)
helper(85, 162, 46)
helper(62, 6, 35)
helper(106, 54, 98)
helper(199, 33, 3)
helper(37, 190, 135)
helper(134, 62, 57)
helper(138, 228, 215)
helper(60, 106, 188)
helper(122, 23, 118)
helper(240, 224, 163)
helper(68, 54, 70)
helper(114, 116, 77)
helper(150, 223, 131)
helper(248, 166, 164)
helper(252, 203, 99)
helper(131, 82, 162)
helper(189, 220, 136)
helper(149, 25, 242)
helper(82, 147, 11)
end
return suite