package Ġpl . dz iel ins 4 2 . v 8 n . string Ċ Ċ import Ġpl . dz iel ins 4 2 . v 8 n . Validator Ċ import Ġorg . junit . runner . RunWith Ċ import Ġorg . junit . runners . Parameterized Ċ Ċ @ RunWith ( Parameterized :: class ) Ċ class ĠEmail Validator Test ( ĊĠĠĠ Ġvalue : ĠString , ĊĠĠĠ Ġexpected Result : ĠBoolean Ċ ) Ġ: ĠBase String Validator Test ( value , Ġexpected Result ) Ġ{ ĊĊĠĠĠ Ġoverride Ġval Ġvalidator : ĠValidator < String > Ġ= ĠEmail Validator () ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġ@ Parameterized . Parameters ( name Ġ= Ġ" input Ġvalue : Ġ\" { 0 }\ "; Ġexpected Ġresult : Ġ{ 1 }") ĊĠĠĠĠĠĠĠ Ġfun Ġdata (): ĠCollection < Array < Any >> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" test 1 2 3 @ mail 1 2 3 . com ", Ġtrue ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf ("", Ġfalse ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" Ġ", Ġfalse ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" a @ b ", Ġfalse ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" a @ b . c ", Ġtrue ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" a @ b . c . d ", Ġtrue ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" a @ b . c . d . e ", Ġtrue ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" 1 2 3 @ 1 2 3 . 1 2 3 ", Ġtrue ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" test 1 2 3 . test 1 2 3 @ mail 1 2 3 . com ", Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }