package Ġcom . step an ov . bbf . tests Met am orphic Mut ator Ċ Ċ import Ġcom . step an ov . bbf . bug finder . met am orphic Mut ator . met am orphic Trans of m ations . Synt hesize Valid Expression Ċ import Ġorg . junit . Test Ċ import Ġjavax . script . Script Engine Manager Ċ import Ġkotlin . test . assertEquals Ċ Ċ class ĠSynt hesize Valid Expression Tests Ġ{ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun ĠSynt hesize Valid Expression Tests () Ġ{ ĊĠĠĠĠĠĠĠ Ġrepeat ( 1 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġvar Environment Ġ= Ġmap Of (" one " Ġto ĠlistOf (- 1 0 0 , Ġ 5 , Ġ 9 0 , Ġ 1 0 0 0 0 0 0 , Ġ- 1 0 0 0 0 3 4 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" b " Ġto ĠlistOf ( 0 , ĠInt . MAX _ VALUE Ġ- Ġ 1 , ĠInt . MIN _ VALUE Ġ+ Ġ 1 , Ġ 4 2 ), Ġ" c " Ġto ĠlistOf ( 1 1 1 1 1 1 1 , Ġ 5 , Ġ 9 6 , Ġ 1 2 3 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" f ifth " Ġto ĠlistOf (- 8 , Ġ 8 , Ġ 8 4 3 6 , Ġ- 3 5 4 6 1 2 4 2 3 )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġtest Ġ= ĠSynt hesize Valid Expression (). syn Expression ( var Environment . to Mutable Map ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( variable Ġin Ġvar Environment . keys ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtest Ġ= Ġtest . replace ( variable , Ġvar Environment [ variable ]?. last (). toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsem Ġ= ĠScript Engine Manager () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġse Ġ= Ġsem . get Engine ByName (" JavaScript ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġis Compiled Ġ= Ġtrue ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġse . eval ( test ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Compiled Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( true , Ġis Compiled ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }