package Ġinter view . arrays Ċ Ċ import Ġorg . junit . jupiter . api . Assertions Ċ import Ġorg . junit . jupiter . params . Parameterized Test Ċ import Ġorg . junit . jupiter . params . provider . Method Source Ċ import Ġprint Ċ Ċ class ĠValid S udoku Test Ġ{ ĊĊĠĠĠ Ġ@ Parameterized Test ĊĠĠĠ Ġ@ Method Source (" provide TestData ") ĊĠĠĠ Ġfun Ġtest ( testData : ĠTest Data ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġboard Ġ= ĠtestData . board ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= ĠtestData . result ĊĠĠĠĠĠĠĠ Ġval Ġactual Ġ= ĠisValid S udoku ( board ) ĊĠĠĠĠĠĠĠ ĠAssertions . assertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexpected , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġactual , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" two Sum Ġfor Ġ${ board . join ToString Ġ{ Ġit . print () Ġ+ Ġ"\ n "}} Ġshould Ġbe Ġ$ expected Ġbut Ġwa Ġ$ actual " ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠTest Data ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġboard : ĠArray < CharArray >, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult : ĠBoolean , ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ"${ board . join ToString Ġ{ Ġit . print () Ġ+ Ġ"\ n "}} Ġ$ result " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġprovide TestData () Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTest Data ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchar ArrayOf (' 5 ',' 3 ',' .',' .',' 7 ',' .',' .',' .',' .'), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchar ArrayOf (' 6 ',' .',' .',' 1 ',' 9 ',' 5 ',' .',' .',' .'), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchar ArrayOf ('. ',' 9 ',' 8 ',' .',' .',' .',' .',' 6 ',' .'), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchar ArrayOf (' 4 ',' .',' .',' 8 ',' .',' 3 ',' .',' .',' 1 '), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchar ArrayOf (' 7 ',' .',' .',' .',' 2 ',' .',' .',' .',' 6 '), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchar ArrayOf ('. ',' 6 ',' .',' .',' .',' .',' 2 ',' 8 ',' .'), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchar ArrayOf ('. ',' .',' .',' 4 ',' 1 ',' 9 ',' .',' .',' 5 '), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchar ArrayOf ('. ',' .',' .',' .',' 8 ',' .',' .',' 7 ',' 9 ') ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTest Data ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchar ArrayOf (' 8 ',' 3 ',' .',' .',' 7 ',' .',' .',' .',' .'), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchar ArrayOf (' 6 ',' .',' .',' 1 ',' 9 ',' 5 ',' .',' .',' .'), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchar ArrayOf ('. ',' 9 ',' 8 ',' .',' .',' .',' .',' 6 ',' .'), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchar ArrayOf (' 4 ',' .',' .',' 8 ',' .',' 3 ',' .',' .',' 1 '), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchar ArrayOf (' 7 ',' .',' .',' .',' 2 ',' .',' .',' .',' 6 '), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchar ArrayOf ('. ',' 6 ',' .',' .',' .',' .',' 2 ',' 8 ',' .'), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchar ArrayOf ('. ',' .',' .',' 4 ',' 1 ',' 9 ',' .',' .',' 5 '), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchar ArrayOf ('. ',' .',' .',' .',' 8 ',' .',' .',' 7 ',' 9 ') ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ }