package Ġcom . s me up . r pg parser . parsing Ċ Ċ import Ġcom . s me up . r pg parser . assert Can Be Parsed Result Ċ import Ġcom . s me up . r pg parser . parsing . ast . Compilation Unit Ċ import Ġcom . s me up . r pg parser . execute Ċ import Ġcom . s me up . r pg parser . execution . Resource Program Finder Ċ import Ġcom . s me up . r pg parser . interpreter . Dummy DB Interface Ċ import Ġcom . s me up . r pg parser . interpreter . Dummy System Interface Ċ import Ġcom . s me up . r pg parser . interpreter . Simple System Interface Ċ import Ġcom . s me up . r pg parser . parsing . par set reet o ast . To Ast Configuration Ċ import Ġcom . s me up . r pg parser . parsing . par set reet o ast . inject Mute Annotation Ċ import Ġcom . s me up . r pg parser . parsing . par set reet o ast . resolve Ċ import Ġcom . s me up . r pg parser . parsing . par set reet o ast . to Ast Ċ import Ġkotlin . test . assertEquals Ċ import Ġkotlin . test . assertFalse Ċ import Ġkotlin . test . assertTrue Ċ import Ġorg . junit . Test Ċ Ċ class ĠR pg Parser With Mute Runtime Test Ġ{ ĊĠĠĠ Ġ// ĠTemporary Ġreplacement ĊĠĠĠ Ġprivate Ġfun Ġassert AST Can Be Pro duced ( ĊĠĠĠĠĠĠĠ Ġexample Name : ĠString , ĊĠĠĠĠĠĠĠ Ġconsider Position : ĠBoolean Ġ= Ġfalse , ĊĠĠĠĠĠĠĠ Ġwith Mute Support : ĠBoolean Ġ= Ġtrue ĊĠĠĠ Ġ): ĠCompilation Unit Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġparse Tree Root Ġ= Ġassert Can Be Parsed Result ( example Name , Ġwith Mute Support ) ĊĠĠĠĠĠĠĠ Ġval Ġast Ġ= Ġparse Tree Root . root !!. r Context . to Ast ( To Ast Configuration ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconsider Position Ġ= Ġconsider Position )) ĊĠĠĠĠĠĠĠ Ġif Ġ( with Mute Support ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! consider Position ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalStateException (" Mute Ġannotations Ġcan Ġbe Ġinjected Ġonly Ġwhen Ġret aining Ġthe Ġposition ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( with Mute Support ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġast . inject Mute Annotation ( parse Tree Root . root !!. mute Contexts !! ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġast ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġparse M UTE 0 1 _ runtime () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcu Ġ= Ġassert AST Can Be Pro duced (" mute / M UTE 0 1 _ RUNTIME ", Ġtrue ) ĊĠĠĠĠĠĠĠ Ġcu . resolve ( Dummy DB Interface ) ĊĠĠĠĠĠĠĠ ĠDummy System Interface . executed Annotation Internal . clear () ĊĠĠĠĠĠĠĠ Ġval Ġinterpreter Ġ= Ġexecute ( cu , Ġmap Of ()) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( interpreter . system Interface . getExec uted Annotation (). size , Ġ 8 ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠVAL 1 ( FIELD 1 ) ĠVAL 2 (' AAAA ') ĠCOMP ( EQ ) ĊĠĠĠĠĠĠĠ Ġvar Ġannotation Ġ= Ġinterpreter . system Interface . getExec uted Annotation ()[ 3 ] ĊĠĠĠĠĠĠĠ ĠassertTrue ( actual Ġ= Ġannotation Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( annotation . succeeded ()) ĊĊĠĠĠĠĠĠĠ Ġ// ĠVAL 1 ( N BR ) ĠVAL 2 ( 1 1 ) ĠCOMP ( LT ) ĊĠĠĠĠĠĠĠ Ġannotation Ġ= Ġinterpreter . system Interface . getExec uted Annotation ()[ 7 ] ĊĠĠĠĠĠĠĠ ĠassertTrue ( actual Ġ= Ġannotation Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( annotation . succeeded ()) ĊĊĠĠĠĠĠĠĠ Ġ// ĠVAL 1 ( FIELD 1 ) ĠVAL 2 (' A Ġ' Ġ+ Ġ' ĠB ') ĠCOMP ( NE ) ĊĠĠĠĠĠĠĠ Ġannotation Ġ= Ġinterpreter . system Interface . getExec uted Annotation ()[ 1 4 ] ĊĠĠĠĠĠĠĠ ĠassertTrue ( actual Ġ= Ġannotation Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠ ĠassertFalse ( annotation . succeeded ()) ĊĊĠĠĠĠĠĠĠ Ġ// ĠVAL 1 ( B ) ĠVAL 2 ( 1 ) ĠCOMP ( GE ) ĊĠĠĠĠĠĠĠ Ġannotation Ġ= Ġinterpreter . system Interface . getExec uted Annotation ()[ 1 6 ] ĊĠĠĠĠĠĠĠ ĠassertTrue ( actual Ġ= Ġannotation Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( annotation . succeeded ()) ĊĊĠĠĠĠĠĠĠ Ġ// ĠVAL 1 ( B ) ĠVAL 2 ( 1 ) ĠCOMP ( LE ) ĊĠĠĠĠĠĠĠ Ġannotation Ġ= Ġinterpreter . system Interface . getExec uted Annotation ()[ 1 7 ] ĊĠĠĠĠĠĠĠ ĠassertTrue ( actual Ġ= Ġannotation Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( annotation . succeeded ()) ĊĊĠĠĠĠĠĠĠ Ġ// ĠVAL 1 ( B ) ĠVAL 2 ( 1 ) ĠCOMP ( GT ) ĊĠĠĠĠĠĠĠ Ġannotation Ġ= Ġinterpreter . system Interface . getExec uted Annotation ()[ 1 9 ] ĊĠĠĠĠĠĠĠ ĠassertTrue ( actual Ġ= Ġannotation Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠ ĠassertFalse ( annotation . succeeded ()) ĊĊĠĠĠĠĠĠĠ Ġ// ĠVAL 1 ( B ) ĠVAL 2 ( 1 ) ĠCOMP ( LT ) ĊĠĠĠĠĠĠĠ Ġannotation Ġ= Ġinterpreter . system Interface . getExec uted Annotation ()[ 2 0 ] ĊĠĠĠĠĠĠĠ ĠassertTrue ( actual Ġ= Ġannotation Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠ ĠassertFalse ( annotation . succeeded ()) ĊĊĠĠĠĠĠĠĠ Ġ// ĠVAL 1 ( COUNT ) ĠVAL 2 ( 4 ) ĠCOMP ( LE ) ĊĠĠĠĠĠĠĠ Ġannotation Ġ= Ġinterpreter . system Interface . getExec uted Annotation ()[ 2 8 ] ĊĠĠĠĠĠĠĠ ĠassertTrue ( actual Ġ= Ġannotation Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( annotation . succeeded ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġparse M UTE 0 2 _ runtime () Ġ{ ĊĠĠĠĠĠĠĠ ĠDummy System Interface . executed Annotation Internal . clear () ĊĠĠĠĠĠĠĠ Ġval Ġcu Ġ= Ġassert AST Can Be Pro duced (" mute / M UTE 0 2 _ RUNTIME ", Ġtrue ) ĊĠĠĠĠĠĠĠ Ġcu . resolve ( Dummy DB Interface ) ĊĠĠĠĠĠĠĠ Ġval Ġinterpreter Ġ= Ġexecute ( cu , Ġmap Of ()) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( interpreter . system Interface . getExec uted Annotation (). size , Ġ 5 ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠVAL 1 ( VAR 1 ) ĠVAL 2 (% TRIM (' ĠA AAA Ġ')) ĠCOMP ( EQ ) ĊĠĠĠĠĠĠĠ Ġvar Ġannotation Ġ= Ġinterpreter . system Interface . getExec uted Annotation ()[ 3 ] ĊĠĠĠĠĠĠĠ ĠassertTrue ( actual Ġ= Ġannotation Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( annotation . succeeded ()) ĊĊĠĠĠĠĠĠĠ Ġ// Ġ ĠVAL 1 ( VALUE 1 ) ĠVAL 2 (' AAA :') ĠCOMP ( EQ ) ĊĠĠĠĠĠĠĠ Ġannotation Ġ= Ġinterpreter . system Interface . getExec uted Annotation ()[ 1 0 ] ĊĠĠĠĠĠĠĠ ĠassertTrue ( actual Ġ= Ġannotation Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( annotation . succeeded ()) ĊĊĠĠĠĠĠĠĠ Ġ// Ġ ĠVAL 1 ( VALUE 1 ) ĠVAL 2 (' Ġ ĠA AA :') ĠCOMP ( EQ ) ĊĠĠĠĠĠĠĠ Ġannotation Ġ= Ġinterpreter . system Interface . getExec uted Annotation ()[ 1 2 ] ĊĠĠĠĠĠĠĠ ĠassertTrue ( actual Ġ= Ġannotation Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠ Ġ// Ġthis Ġone Ġfail , Ġas Ġexpected ĊĠĠĠĠĠĠĠ ĠassertFalse ( annotation . succeeded ()) ĊĊĠĠĠĠĠĠĠ Ġ// Ġ ĠVAL 1 (% TRIM R ( VAR 1 ) Ġ+ ': ') ĠVAL 2 (' Ġ ĠA AA :') ĠCOMP ( EQ ) ĊĠĠĠĠĠĠĠ Ġannotation Ġ= Ġinterpreter . system Interface . getExec uted Annotation ()[ 1 4 ] ĊĠĠĠĠĠĠĠ ĠassertTrue ( actual Ġ= Ġannotation Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( annotation . succeeded ()) ĊĊĠĠĠĠĠĠĠ Ġ// Ġ ĠVAL 1 ( VALUE 1 ) ĠVAL 2 (' AAA ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ: ') ĠCOMP ( NE ) ĊĠĠĠĠĠĠĠ Ġannotation Ġ= Ġinterpreter . system Interface . getExec uted Annotation ()[ 1 5 ] ĊĠĠĠĠĠĠĠ ĠassertTrue ( actual Ġ= Ġannotation Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( annotation . succeeded ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġparse M UTE 0 2 _ runtime With Array () Ġ{ ĊĠĠĠĠĠĠĠ ĠDummy System Interface . executed Annotation Internal . clear () ĊĠĠĠĠĠĠĠ Ġval Ġcu Ġ= Ġassert AST Can Be Pro duced (" mute / M UTE 0 2 _ RUNTIME _ array ", Ġtrue ) ĊĠĠĠĠĠĠĠ Ġcu . resolve ( Dummy DB Interface ) ĊĠĠĠĠĠĠĠ Ġval Ġinterpreter Ġ= Ġexecute ( cu , Ġmap Of ()) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( interpreter . system Interface . getExec uted Annotation (). size , Ġ 1 ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠVAL 1 ( AR ( 1 )) ĠVAL 2 ( 4 ) ĠCOMP ( NE ) ĊĠĠĠĠĠĠĠ Ġval Ġannotation Ġ= Ġinterpreter . system Interface . getExec uted Annotation ()[ 2 ] ĊĠĠĠĠĠĠĠ ĠassertTrue ( actual Ġ= Ġannotation Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( annotation . succeeded ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġexecuting FI ZZ BU ZZ TEST () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcu Ġ= Ġassert AST Can Be Pro duced (" mute / FI ZZ BU ZZ TEST ", Ġtrue ) ĊĠĠĠĠĠĠĠ Ġcu . resolve ( Dummy DB Interface ) ĊĠĠĠĠĠĠĠ Ġval Ġsi Ġ= ĠSimple System Interface ( program Find ers Ġ= ĠlistOf ( Resource Program Finder ("/ mute / "))) ĊĊĠĠĠĠĠĠĠ Ġval Ġinterpreter Ġ= Ġexecute ( cu , Ġmap Of (), Ġsystem Interface Ġ= Ġsi ) ĊĊĠĠĠĠĠĠĠ Ġval Ġexecuted Annotation Ġ= Ġinterpreter . system Interface . getExec uted Annotation () ĊĠĠĠĠĠĠĠ ĠassertEquals ( executed Annotation . size , Ġ 4 ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( executed Annotation . all Ġ{ Ġit . value . succeeded () Ġ}) ĊĠĠĠ Ġ} Ċ } Ċ