// ĠLicensed Ġunder Ġthe ĠMIT Ġlicense . ĠSee ĠLICENSE Ġfile Ġin Ġthe Ġproject Ġroot Ċ // Ġfor Ġfull Ġlicense Ġinformation . Ċ Ċ package Ġnet . dummy digit . q branch . compiler Ċ Ċ import Ġnet . dummy digit . q branch . compiler . mocks . Mock String Source Code Loader Ċ import Ġnet . dummy digit . q branch . compiler . mocks . Mock String Target Writer Ċ import Ġnet . dummy digit . q branch . compiler . parser . Intermediate Construct Ċ import Ġnet . dummy digit . q branch . compiler . parser . Source Tree Parser Ċ import Ġorg . junit . Assert Ċ import Ġorg . junit . Test Ċ Ċ class ĠKotlin Translator Test Ġ{ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Enum CodeGen () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmock Code Ġ= Ġhash Map Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" test . bond " Ġto Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnamespace Ġq branch . ut ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġenum ĠTest Enum Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠValue 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠValue 3 Ġ= Ġ 3 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠValue 4 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"" ") ĊĠĠĠĠĠĠĠ Ġval Ġsettings Ġ= ĠSettings () ĊĠĠĠĠĠĠĠ Ġval Ġloader Ġ= ĠMock String Source Code Loader ( mock Code ) ĊĠĠĠĠĠĠĠ Ġval Ġparser Ġ= ĠSource Tree Parser ( loader ) ĊĠĠĠĠĠĠĠ Ġval Ġsorted Source Tree Ġ= Ġparser . parse (" test . bond ") ĊĠĠĠĠĠĠĠ Ġval Ġconstruct Ġ= ĠInter mediate Construct ( sorted Source Tree ) ĊĠĠĠĠĠĠĠ Ġval Ġtranslator Ġ= ĠKotlin Translator ( settings ) ĊĠĠĠĠĠĠĠ Ġval Ġsa ver Ġ= ĠMock String Target Writer ( 6 5 5 3 5 ) ĊĠĠĠĠĠĠĠ Ġval Ġwriter Ġ= ĠOne Class Per File CodeGen ( translator , Ġsa ver ) ĊĠĠĠĠĠĠĠ Ġwriter . generate Target Source ( construct ) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( 8 , Ġsa ver . saved Content Array . size ) ĊĠĠĠĠĠĠĠ Ġ// ĠNOTE : ĠDon 't Ġtest Ġcompiler Ġversion Ġand Ġname Ġas ĊĠĠĠĠĠĠĠ Ġ// Ġit Ġdoes Ġnot Ġwork Ġin Ġunit Ġtest ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals (" enum Ġclass ĠTest Enum ( val Ġnum Ġ: ĠInt ) Ġ{ ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsa ver . saved Content Array [ 3 ]) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals (" ĠĠĠ ĠValue 0 ( 0 ), ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsa ver . saved Content Array [ 4 ]) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals (" ĠĠĠ ĠValue 3 ( 3 ), ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsa ver . saved Content Array [ 5 ]) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals (" ĠĠĠ ĠValue 4 ( 4 ), ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsa ver . saved Content Array [ 6 ]) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Struct CodeGen () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmock Code Ġ= Ġhash Map Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" test . bond " Ġto Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnamespace Ġq branch . ut ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstruct ĠTest Struct Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"" ") ĊĠĠĠĠĠĠĠ Ġval Ġsettings Ġ= ĠSettings () ĊĠĠĠĠĠĠĠ Ġval Ġloader Ġ= ĠMock String Source Code Loader ( mock Code ) ĊĠĠĠĠĠĠĠ Ġval Ġparser Ġ= ĠSource Tree Parser ( loader ) ĊĠĠĠĠĠĠĠ Ġval Ġsorted Source Tree Ġ= Ġparser . parse (" test . bond ") ĊĠĠĠĠĠĠĠ Ġval Ġconstruct Ġ= ĠInter mediate Construct ( sorted Source Tree ) ĊĠĠĠĠĠĠĠ Ġval Ġtranslator Ġ= ĠKotlin Translator ( settings ) ĊĠĠĠĠĠĠĠ Ġval Ġsa ver Ġ= ĠMock String Target Writer ( 6 5 5 3 5 ) ĊĠĠĠĠĠĠĠ Ġval Ġwriter Ġ= ĠOne Class Per File CodeGen ( translator , Ġsa ver ) ĊĠĠĠĠĠĠĠ Ġwriter . generate Target Source ( construct ) ĊĠĠĠ Ġ} Ċ }