package Ġcom . google . cloud . sq le co system . sq lex traction . output Ċ Ċ import Ġio . mock k . Mock K Annotations Ċ import Ġio . mock k . every Ċ import Ġio . mock k . impl . annotations . Rel ax ed Mock K Ċ import Ġorg . junit . Before Ċ import Ġkotlin . test . Test Ċ import Ġkotlin . test . assertEquals Ċ Ċ class ĠQuery Fragment Test Ġ{ ĊĠĠĠ Ġ@ Rel ax ed Mock K ĊĠĠĠ Ġlateinit Ġvar Ġlocation : ĠLocation ĊĊĠĠĠ Ġ@ Rel ax ed Mock K ĊĠĠĠ Ġlateinit Ġvar Ġliteral A : ĠQuery Fragment ĊĊĠĠĠ Ġ@ Rel ax ed Mock K ĊĠĠĠ Ġlateinit Ġvar Ġliteral B : ĠQuery Fragment ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun ĠsetUp () Ġ= ĠMock K Annotations . init ( this ) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` to Combined String Ġfor Ġliteral `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfragment Ġ= ĠQuery Fragment . create Literal ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFragment Count . SINGLE , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlocation , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" test " ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġfragment . to Combined String () ĊĊĠĠĠĠĠĠĠ ĠassertEquals (" test ", Ġresult ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` to Combined String Ġfor Ġoptional Ġliteral `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfragment Ġ= ĠQuery Fragment . create Literal ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFragment Count . OPTIONAL , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlocation , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" test " ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġfragment . to Combined String () ĊĊĠĠĠĠĠĠĠ ĠassertEquals (" test ?", Ġresult ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` to Combined String Ġfor Ġmultiple Ġliteral `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfragment Ġ= ĠQuery Fragment . create Literal ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFragment Count . MULTIPLE , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlocation , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" test " ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġfragment . to Combined String () ĊĊĠĠĠĠĠĠĠ ĠassertEquals (" test *", Ġresult ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` to Combined String Ġfor Ġcomplex Ġand `() Ġ{ ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġliteral A . to Combined String () Ġ} Ġreturns Ġ" test A " ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġliteral B . to Combined String () Ġ} Ġreturns Ġ" test B " ĊĊĠĠĠĠĠĠĠ Ġval Ġfragment Ġ= ĠQuery Fragment . create Complex ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFragment Count . SINGLE , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( literal A , Ġliteral B ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠComplex Type . AND ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġfragment . to Combined String () ĊĊĠĠĠĠĠĠĠ ĠassertEquals ("( test A test B )", Ġresult ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` to Combined String Ġfor Ġcomplex Ġor `() Ġ{ ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġliteral A . to Combined String () Ġ} Ġreturns Ġ" test A " ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġliteral B . to Combined String () Ġ} Ġreturns Ġ" test B " ĊĊĠĠĠĠĠĠĠ Ġval Ġfragment Ġ= ĠQuery Fragment . create Complex ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFragment Count . SINGLE , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( literal A , Ġliteral B ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠComplex Type . OR ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġfragment . to Combined String () ĊĊĠĠĠĠĠĠĠ ĠassertEquals ("( test A | test B )", Ġresult ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` to Combined String Ġfor Ġcomplex Ġand Ġoptional `() Ġ{ ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġliteral A . to Combined String () Ġ} Ġreturns Ġ" test A " ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġliteral B . to Combined String () Ġ} Ġreturns Ġ" test B " ĊĊĠĠĠĠĠĠĠ Ġval Ġfragment Ġ= ĠQuery Fragment . create Complex ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFragment Count . OPTIONAL , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( literal A , Ġliteral B ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠComplex Type . AND ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġfragment . to Combined String () ĊĊĠĠĠĠĠĠĠ ĠassertEquals ("( test A test B )? ", Ġresult ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` to Combined String Ġfor Ġcomplex Ġand Ġmultiple `() Ġ{ ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġliteral A . to Combined String () Ġ} Ġreturns Ġ" test A " ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġliteral B . to Combined String () Ġ} Ġreturns Ġ" test B " ĊĊĠĠĠĠĠĠĠ Ġval Ġfragment Ġ= ĠQuery Fragment . create Complex ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFragment Count . MULTIPLE , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( literal A , Ġliteral B ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠComplex Type . OR ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġfragment . to Combined String () ĊĊĠĠĠĠĠĠĠ ĠassertEquals ("( test A | test B )* ", Ġresult ) ĊĠĠĠ Ġ} Ċ }