Deze module is nog in ontwikkeling (versie 0.0) en wordt getest.
De Module:Layout is bedoeld om snel, consistent en uitgebreid een pagina op te maken.
Er is een op de module afgestemde handleiding over deze onderwijswiki beschikbaar.
localtest={};localCFG=require("Module:Layout/Configuration");localchess=CFG.LOAD.CHESS();localunittest=CFG.LOAD.LIBRARY_TEST();test=unittest:new();functiontest:test_Library_Chess_rank()localeven='<tr style="vertical-align:middle"><td style="color: black; background-color:white;text-align:center">%s</td><td style="color: black; background-color:#f59364;text-align:center">[[File:Chess t45.svg|26px|alt=Schaakveld a%s zonder een schaakstuk]]</td><td style="color: black; background-color:#a94617;text-align:center">[[File:Chess t45.svg|26px|alt=Schaakveld b%s zonder een schaakstuk]]</td><td style="color: black; background-color:#f59364;text-align:center">[[File:Chess t45.svg|26px|alt=Schaakveld c%s zonder een schaakstuk]]</td><td style="color: black; background-color:#a94617;text-align:center">[[File:Chess t45.svg|26px|alt=Schaakveld d%s zonder een schaakstuk]]</td><td style="color: black; background-color:#f59364;text-align:center">[[File:Chess t45.svg|26px|alt=Schaakveld e%s zonder een schaakstuk]]</td><td style="color: black; background-color:#a94617;text-align:center">[[File:Chess t45.svg|26px|alt=Schaakveld f%s zonder een schaakstuk]]</td><td style="color: black; background-color:#f59364;text-align:center">[[File:Chess t45.svg|26px|alt=Schaakveld g%s zonder een schaakstuk]]</td><td style="color: black; background-color:#a94617;text-align:center">[[File:Chess t45.svg|26px|alt=Schaakveld h%s zonder een schaakstuk]]</td><td style="color: black; background-color:white;text-align:center">%s</td></tr>'localuneven='<tr style="vertical-align:middle"><td style="color: black; background-color:white;text-align:center">%s</td><td style="color: black; background-color:#a94617;text-align:center">[[File:Chess t45.svg|26px|alt=Schaakveld a%s zonder een schaakstuk]]</td><td style="color: black; background-color:#f59364;text-align:center">[[File:Chess t45.svg|26px|alt=Schaakveld b%s zonder een schaakstuk]]</td><td style="color: black; background-color:#a94617;text-align:center">[[File:Chess t45.svg|26px|alt=Schaakveld c%s zonder een schaakstuk]]</td><td style="color: black; background-color:#f59364;text-align:center">[[File:Chess t45.svg|26px|alt=Schaakveld d%s zonder een schaakstuk]]</td><td style="color: black; background-color:#a94617;text-align:center">[[File:Chess t45.svg|26px|alt=Schaakveld e%s zonder een schaakstuk]]</td><td style="color: black; background-color:#f59364;text-align:center">[[File:Chess t45.svg|26px|alt=Schaakveld f%s zonder een schaakstuk]]</td><td style="color: black; background-color:#a94617;text-align:center">[[File:Chess t45.svg|26px|alt=Schaakveld g%s zonder een schaakstuk]]</td><td style="color: black; background-color:#f59364;text-align:center">[[File:Chess t45.svg|26px|alt=Schaakveld h%s zonder een schaakstuk]]</td><td style="color: black; background-color:white;text-align:center">%s</td></tr>';localresult1=string.format(uneven,"1","1","1","1","1","1","1","1","1","1");localresult2=string.format(uneven,"3","3","3","3","3","3","3","3","3","3");localresult3=string.format(even,"8","8","8","8","8","8","8","8","8","8");self:assertEquals(result1,tostring(chess.rank("")),"empty");self:assertEquals(result1,tostring(chess.rank(0)),"0");self:assertEquals(result1,tostring(chess.rank(1)),"1");self:assertEquals(result1,tostring(chess.rank(9)),"9");self:assertEquals(result2,tostring(chess.rank(3,"")),"2 empty");self:assertEquals(result3,tostring(chess.rank(8,"","")),"8 empty empty");endfunctiontest:test_Library_Chess_square()localresult1='<td style="color: black; background-color:#a94617;text-align:center">[[File:Chess t45.svg|26px|alt=Schaakveld a1 zonder een schaakstuk]]</td>';localresult2='<td style="color: black; background-color:#a94617;text-align:center">[[File:Chess t45.svg|26px|alt=Schaakveld h8 zonder een schaakstuk]]</td>';localresult3='<td style="color: black; background-color:#a94617;text-align:center">[[File:Chess kdt45.svg|26px|alt=Schaakveld h8 met een zwarte koning]]</td>';localresult4='<td style="color: black; background-color:#f59364;text-align:center">[[File:Chess qlt45.svg|26px|alt=Schaakveld e4 met een witte koningin]]</td>';self:assertEquals(result1,tostring(chess.square("")),"empty");self:assertEquals(result1,tostring(chess.square(" ")),"SPACE");self:assertEquals(result1,tostring(chess.square(nil)),"nil");self:assertEquals(result1,tostring(chess.square("123")),"123");self:assertEquals(result1,tostring(chess.square("i1")),"i1");self:assertEquals(result1,tostring(chess.square("a9")),"i1");self:assertEquals(result1,tostring(chess.square("a1")),"a1");self:assertEquals(result2,tostring(chess.square("h8")),"h8");self:assertEquals(result3,tostring(chess.square("h8","kd")),"kd on h8");self:assertEquals(result4,tostring(chess.square("e4","ql")),"ql on e4");endfunctiontest:test_Library_Chess_square_color()self:assertEquals(CFG.STYLE.CHESS.COLOR_WHITE,chess.square_color(""),"empty");self:assertEquals(CFG.STYLE.CHESS.COLOR_WHITE,chess.square_color(nil),"nil");self:assertEquals(CFG.STYLE.CHESS.COLOR_WHITE,chess.square_color("i1"),"i1");self:assertEquals(CFG.STYLE.CHESS.COLOR_WHITE,chess.square_color("a9"),"a9");self:assertEquals(CFG.STYLE.CHESS.COLOR_WHITE,chess.square_color(" "),"SPACE");self:assertEquals(CFG.STYLE.CHESS.COLOR_WHITE,chess.square_color("d1q"),"d1q");self:assertEquals(CFG.STYLE.CHESS.COLOR_WHITE,chess.square_color("d1"),"d1");self:assertEquals(CFG.STYLE.CHESS.COLOR_BLACK,chess.square_color("a1"),"a1");self:assertEquals(CFG.STYLE.CHESS.COLOR_BLACK,chess.square_color("e1"),"e1");self:assertEquals(CFG.STYLE.CHESS.COLOR_BLACK,chess.square_color("h8"),"h8");endreturntest;