package Ġorg . roy l ance . ya orm . utilities . common Ċ Ċ import Ġcom . google . protobuf . ByteString Ċ import Ġorg . junit . Assert Ċ import Ġorg . junit . Ignore Ċ import Ġorg . junit . Test Ċ import Ġorg . roy l ance . common . service . I Builder Ċ import Ġorg . roy l ance . ya orm . Testing Model Ċ import Ġorg . roy l ance . ya orm . services . IEntity Service Ċ import Ġorg . roy l ance . ya orm . utilities . Protobuf Utils Ċ import Ġorg . roy l ance . ya orm . utilities . Testing Model Utilities Ċ import Ġjava . util .* Ċ Ċ object ĠProto Test Utilities Ġ{ ĊĊĠĠĠ Ġfun Ġsimple Pass Through Test ( entity Service : ĠI Entity Service , Ġcleanup : ĠI Builder < Boolean >? Ġ= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġarrange ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtest Model Ġ= ĠTesting Model . Simple Insert Test . newBuilder () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . id Ġ= ĠUUID . randomUUID (). toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . cool Type Ġ= ĠTesting Model . Simple Insert Test . Cool Type . SUR PRI SED ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . child Ġ= ĠTesting Model . Child . newBuilder (). setId ( UUID . randomUUID (). toString ()). set Test Display (" first Ġdisplay ") Ġ. build () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsub Test Child Ġ= ĠTesting Model . Child . newBuilder (). setId ( UUID . randomUUID (). toString ()). set Test Display (" second Ġdisplay ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . addChild s ( sub Test Child ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfirst Cool Type Ġ= ĠTesting Model . Simple Insert Test . Cool Type . SUR PRI SED ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsecond Cool Type Ġ= ĠTesting Model . Simple Insert Test . Cool Type . TEST ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . add Cool Types ( first Cool Type ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . add Cool Types ( second Cool Type ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrecords Ġ= ĠProtobuf Utils . convert Protobuf Object To Records ( test Model . build ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġact ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrecords . table Records List . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . drop Table ( it . table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . createTable ( it . table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . bulk Insert ( it . records , Ġit . table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġassert ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( true ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfinally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . close () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcleanup ?. build () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsingle Quote Simple Pass Through Test ( entity Service : ĠI Entity Service , Ġcleanup : ĠI Builder < Boolean >? Ġ= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġarrange ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtest Model Ġ= ĠTesting Model . Simple Insert Test . newBuilder () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . id Ġ= ĠUUID . randomUUID (). toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . cool Type Ġ= ĠTesting Model . Simple Insert Test . Cool Type . SUR PRI SED ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . child Ġ= ĠTesting Model . Child . newBuilder (). setId ( UUID . randomUUID (). toString ()). set Test Display (" first Ġdisplay ' Ġjust Ġoutside Ġof Ġlin col n '") Ġ. build () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsub Test Child Ġ= ĠTesting Model . Child . newBuilder (). setId ( UUID . randomUUID (). toString ()). set Test Display (" second Ġdisplay ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . addChild s ( sub Test Child ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfirst Cool Type Ġ= ĠTesting Model . Simple Insert Test . Cool Type . SUR PRI SED ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsecond Cool Type Ġ= ĠTesting Model . Simple Insert Test . Cool Type . TEST ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . add Cool Types ( first Cool Type ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . add Cool Types ( second Cool Type ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrecords Ġ= ĠProtobuf Utils . convert Protobuf Object To Records ( test Model . build ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġact ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrecords . table Records List . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . drop Table ( it . table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . createTable ( it . table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . bulk Insert ( it . records , Ġit . table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġassert ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( true ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfinally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . close () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcleanup ?. build () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsimple Pass Through 2 Test ( entity Service : ĠI Entity Service , Ġcleanup : ĠI Builder < Boolean >? Ġ= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġarrange ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtest Model Ġ= ĠTesting Model . Simple Insert Test . newBuilder () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . id Ġ= ĠUUID . randomUUID (). toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . cool Type Ġ= ĠTesting Model . Simple Insert Test . Cool Type . SUR PRI SED ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . child Ġ= ĠTesting Model . Child . newBuilder (). setId ( UUID . randomUUID (). toString ()). set Test Display (" first Ġdisplay ") Ġ. build () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsub Test Child Ġ= ĠTesting Model . Child . newBuilder (). setId ( UUID . randomUUID (). toString ()). set Test Display (" second Ġdisplay ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . addChild s ( sub Test Child ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfirst Cool Type Ġ= ĠTesting Model . Simple Insert Test . Cool Type . SUR PRI SED ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsecond Cool Type Ġ= ĠTesting Model . Simple Insert Test . Cool Type . TEST ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . add Cool Types ( first Cool Type ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . add Cool Types ( second Cool Type ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrecords Ġ= ĠProtobuf Utils . convert Protobuf Object To Records ( test Model . build (), ĠHashMap ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrecords . table Records List . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . drop Table ( it . table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . createTable ( it . table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . bulk Insert ( it . records , Ġit . table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġact ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrecord Ġ= ĠProtobuf Utils . get Proto Object From Builder Single < Testing Model . Child >( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTesting Model . Child . getDefaultInstance (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsub Test Child . id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠHashMap (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠHashMap ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġassert ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( record Ġis ĠTesting Model . Child ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( record !!. test Display Ġ== Ġ" second Ġdisplay ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfinally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . close () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcleanup ?. build () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġverify Types Saved And Returned Correct ly Test ( entity Service : ĠI Entity Service , Ġcleanup : ĠI Builder < Boolean >? Ġ= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġarrange ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtest Model Ġ= ĠTesting Model . Simple Insert Test . newBuilder () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . id Ġ= ĠUUID . randomUUID (). toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . cool Type Ġ= ĠTesting Model . Simple Insert Test . Cool Type . SUR PRI SED ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . child Ġ= ĠTesting Model . Child . newBuilder (). setId ( UUID . randomUUID (). toString ()). set Test Display (" first Ġdisplay ") Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . display Ġ= Ġ" random Ġdisplay " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . test Int 3 2 Ġ= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . test Int 6 4 Ġ= Ġ 2 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . test Uint 3 2 Ġ= Ġ 3 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . test Uint 6 4 Ġ= Ġ 4 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . test Sint 3 2 Ġ= Ġ 5 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . test Sint 6 4 Ġ= Ġ 6 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . test Fixed 3 2 Ġ= Ġ 7 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . test Fixed 6 4 Ġ= Ġ 8 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . test S fixed 3 2 Ġ= Ġ 9 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . test S fixed 6 4 Ġ= Ġ 1 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . test Bool Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . test Bytes Ġ= ĠByte String . copyFrom Utf 8 (" what Ġis Ġthis ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . test Double Ġ= Ġ 1 1 . 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . test Float Ġ= Ġ 1 2 . 0 F ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsub Test Child Ġ= ĠTesting Model . Child . newBuilder (). setId ( UUID . randomUUID (). toString ()). set Test Display (" second Ġdisplay ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . addChild s ( sub Test Child ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfirst Cool Type Ġ= ĠTesting Model . Simple Insert Test . Cool Type . SUR PRI SED ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsecond Cool Type Ġ= ĠTesting Model . Simple Insert Test . Cool Type . TEST ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . add Cool Types ( first Cool Type ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . add Cool Types ( second Cool Type ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrecords Ġ= ĠProtobuf Utils . convert Protobuf Object To Records ( test Model . build (), ĠHashMap ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrecords . table Records List . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . drop Table ( it . table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . createTable ( it . table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . bulk Insert ( it . records , Ġit . table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġact ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrecord Ġ= ĠProtobuf Utils . get Proto Object From Builder Single < Testing Model . Simple Insert Test >( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTesting Model . Simple Insert Test . getDefaultInstance (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠHashMap (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠHashMap ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġassert ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( record Ġis ĠTesting Model . Simple Insert Test ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( record !!. cool Type Ġ== ĠTesting Model . Simple Insert Test . Cool Type . SUR PRI SED ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( record . display Ġ== Ġtest Model . display ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( record . test Int 3 2 Ġ== Ġtest Model . test Int 3 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( record . test Int 6 4 Ġ== Ġtest Model . test Int 6 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( record . test Uint 3 2 Ġ== Ġtest Model . test Uint 3 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( record . test Uint 6 4 Ġ== Ġtest Model . test Uint 6 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( record . test Sint 3 2 Ġ== Ġtest Model . test Sint 3 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( record . test Sint 6 4 Ġ== Ġtest Model . test Sint 6 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( record . test Fixed 3 2 Ġ== Ġtest Model . test Fixed 3 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( record . test Fixed 6 4 Ġ== Ġtest Model . test Fixed 6 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( record . test S fixed 3 2 Ġ== Ġtest Model . test S fixed 3 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( record . test S fixed 6 4 Ġ== Ġtest Model . test S fixed 6 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( record . test Bool Ġ== Ġtest Model . test Bool ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( record . test Bytes Ġ== Ġtest Model . test Bytes ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( record . test Double Ġ== Ġtest Model . test Double ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( record . test Float Ġ== Ġtest Model . test Float ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfinally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . close () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcleanup ?. build () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġverify Repeated Nums Saved And Returned Correct ly Test ( entity Service : ĠI Entity Service , Ġcleanup : ĠI Builder < Boolean >? Ġ= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġarrange ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtest Model Ġ= ĠTesting Model . Simple Insert Test . newBuilder () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . id Ġ= ĠUUID . randomUUID (). toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . cool Type Ġ= ĠTesting Model . Simple Insert Test . Cool Type . SUR PRI SED ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . child Ġ= ĠTesting Model . Child . newBuilder (). setId ( UUID . randomUUID (). toString ()). set Test Display (" first Ġdisplay ") Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . display Ġ= Ġ" random Ġdisplay " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . test Int 3 2 Ġ= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . test Int 6 4 Ġ= Ġ 2 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . test Uint 3 2 Ġ= Ġ 3 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . test Uint 6 4 Ġ= Ġ 4 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . test Sint 3 2 Ġ= Ġ 5 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . test Sint 6 4 Ġ= Ġ 6 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . test Fixed 3 2 Ġ= Ġ 7 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . test Fixed 6 4 Ġ= Ġ 8 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . test S fixed 3 2 Ġ= Ġ 9 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . test S fixed 6 4 Ġ= Ġ 1 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . test Bool Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . test Bytes Ġ= ĠByte String . copyFrom Utf 8 (" what Ġis Ġthis ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . test Double Ġ= Ġ 1 1 . 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . test Float Ġ= Ġ 1 2 . 0 F ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsub Test Child Ġ= ĠTesting Model . Child . newBuilder (). setId ( UUID . randomUUID (). toString ()). set Test Display (" second Ġdisplay ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . addChild s ( sub Test Child ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfirst Cool Type Ġ= ĠTesting Model . Simple Insert Test . Cool Type . SUR PRI SED ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsecond Cool Type Ġ= ĠTesting Model . Simple Insert Test . Cool Type . TEST ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . add Cool Types ( first Cool Type ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . add Cool Types ( second Cool Type ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrecords Ġ= ĠProtobuf Utils . convert Protobuf Object To Records ( test Model . build (), ĠHashMap ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrecords . table Records List . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . drop Table ( it . table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . createTable ( it . table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . bulk Insert ( it . records , Ġit . table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġact ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrecord Ġ= ĠProtobuf Utils . get Proto Object From Builder Single < Testing Model . Simple Insert Test >( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTesting Model . Simple Insert Test . getDefaultInstance (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠHashMap (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠHashMap ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġassert ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( record Ġis ĠTesting Model . Simple Insert Test ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( record !!. cool Types Count Ġ== Ġ 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( record . cool Types List . any Ġ{ Ġit Ġ== ĠTesting Model . Simple Insert Test . Cool Type . SUR PRI SED Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( record . cool Types List . any Ġ{ Ġit Ġ== ĠTesting Model . Simple Insert Test . Cool Type . TEST Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfinally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . close () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcleanup ?. build () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġverify Repeated Messages Saved And Returned Correct ly Test ( entity Service : ĠI Entity Service , Ġcleanup : ĠI Builder < Boolean >? Ġ= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġarrange ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtest Model Ġ= ĠTesting Model Utilities . build Sample Root Object () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrecords Ġ= ĠProtobuf Utils . convert Protobuf Object To Records ( test Model . build (), ĠHashMap ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrecords . table Records List . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . drop Table ( it . table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . createTable ( it . table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . bulk Insert ( it . records , Ġit . table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġact ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġinserted Record Ġ= ĠProtobuf Utils . get Proto Object From Builder Single < Testing Model . Simple Insert Test >( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTesting Model . Simple Insert Test . getDefaultInstance (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠHashMap (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠHashMap ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġassert ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( inserted Record Ġis ĠTesting Model . Simple Insert Test ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . out . println ( inserted Record !!. child s Count ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( inserted Record . child s Count Ġ== Ġ 3 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( inserted Record . child s List . any Ġ{ Ġit . test Display Ġ== ĠTesting Model Utilities . Sub Test Child Ġ&& Ġit . id Ġ== ĠTesting Model Utilities . Sub Test Child Id Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( inserted Record . child s List . any Ġ{ Ġit . test Display Ġ== ĠTesting Model Utilities . Sub Test Child 2 Ġ&& Ġit . id Ġ== ĠTesting Model Utilities . Sub Test Child 2 Id Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( inserted Record . child s List . any Ġ{ Ġit . test Display Ġ== ĠTesting Model Utilities . Sub Test Child 3 Ġ&& Ġit . id Ġ== ĠTesting Model Utilities . Sub Test Child 3 Id Ġ}) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsub Test Child Found Ġ= Ġinserted Record . child s List . first Ġ{ Ġit . test Display Ġ== ĠTesting Model Utilities . Sub Test Child Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( sub Test Child Found . sub Child Count Ġ== Ġ 1 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġanother Sub Test Child Ġ= Ġsub Test Child Found . sub Child List . first () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( another Sub Test Child . id Ġ== Ġanother Sub Test Child . id ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( another Sub Test Child . another Test Display Ġ== ĠTesting Model Utilities . Sub Child Another Test Display ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( another Sub Test Child . sub Sub Child Count Ġ== Ġ 1 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsub Sub Child Found Ġ= Ġanother Sub Test Child . sub Sub Child List . first () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( Testing Model Utilities . Sub Sub Child Id Ġ== Ġsub Sub Child Found . id ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( Testing Model Utilities . Sub Sub Child Display Ġ== Ġsub Sub Child Found . sub Sub Display ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfinally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . close () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcleanup ?. build () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsimple Pass Through Definition Test ( entity Service : ĠI Entity Service , Ġcleanup : ĠI Builder < Boolean >? Ġ= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġarrange ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtest Model Ġ= ĠTesting Model . Simple Insert Test . newBuilder () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . id Ġ= ĠUUID . randomUUID (). toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . cool Type Ġ= ĠTesting Model . Simple Insert Test . Cool Type . SUR PRI SED ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . child Ġ= ĠTesting Model . Child . newBuilder (). setId ( UUID . randomUUID (). toString ()). set Test Display (" first Ġdisplay ") Ġ. build () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsub Test Child Ġ= ĠTesting Model . Child . newBuilder (). setId ( UUID . randomUUID (). toString ()). set Test Display (" second Ġdisplay ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . addChild s ( sub Test Child ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfirst Cool Type Ġ= ĠTesting Model . Simple Insert Test . Cool Type . SUR PRI SED ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsecond Cool Type Ġ= ĠTesting Model . Simple Insert Test . Cool Type . TEST ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . add Cool Types ( first Cool Type ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . add Cool Types ( second Cool Type ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrecords Ġ= ĠProtobuf Utils . convert Protobuf Object To Records ( test Model . build ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġact ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrecords . table Records List . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . drop Table ( it . table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . createTable ( it . table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . bulk Insert ( it . records , Ġit . table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġassert ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( true ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfinally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . close () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcleanup ?. build () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsimple Definition Builder Test ( entity Service : ĠI Entity Service , Ġcleanup : ĠI Builder < Boolean >? Ġ= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġarrange ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtest Model Ġ= ĠTesting Model . Simple Insert Test . newBuilder () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . id Ġ= ĠUUID . randomUUID (). toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . cool Type Ġ= ĠTesting Model . Simple Insert Test . Cool Type . SUR PRI SED ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . child Ġ= ĠTesting Model . Child . newBuilder (). setId ( UUID . randomUUID (). toString ()). set Test Display (" first Ġdisplay ") Ġ. build () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsub Test Child Ġ= ĠTesting Model . Child . newBuilder (). setId ( UUID . randomUUID (). toString ()). set Test Display (" second Ġdisplay ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . addChild s ( sub Test Child ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfirst Cool Type Ġ= ĠTesting Model . Simple Insert Test . Cool Type . SUR PRI SED ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsecond Cool Type Ġ= ĠTesting Model . Simple Insert Test . Cool Type . TEST ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . add Cool Types ( first Cool Type ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . add Cool Types ( second Cool Type ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrecords Ġ= ĠProtobuf Utils . convert Protobuf Object To Records ( test Model . build (), ĠHashMap ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrecords . table Records List . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . drop Table ( it . table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . createTable ( it . table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . bulk Insert ( it . records , Ġit . table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġact ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtable Definition Ġ= Ġentity Service . build Definition From Sql (" select Ġ* Ġfrom ĠSimple Insert Test ; ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġassert ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . out . println ( table Definition . column Definitions Count ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtable Definition . column Definitions List . sorted By Ġ{ Ġit . order Ġ}. forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . out . println ("${ it . name }\ t ${ it . type }\ t ${ it . order }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( table Definition . column Definitions Count Ġ== Ġ 1 8 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfinally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . close () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcleanup ?. build () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsimple Schema Test Test ( entity Service : ĠI Entity Service , Ġcleanup : ĠI Builder < Boolean >? Ġ= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġarrange ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtest Model Ġ= ĠTesting Model . Simple Insert Test . newBuilder () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . id Ġ= ĠUUID . randomUUID (). toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . cool Type Ġ= ĠTesting Model . Simple Insert Test . Cool Type . SUR PRI SED ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . child Ġ= ĠTesting Model . Child . newBuilder (). setId ( UUID . randomUUID (). toString ()). set Test Display (" first Ġdisplay ") Ġ. build () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsub Test Child Ġ= ĠTesting Model . Child . newBuilder (). setId ( UUID . randomUUID (). toString ()). set Test Display (" second Ġdisplay ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . addChild s ( sub Test Child ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfirst Cool Type Ġ= ĠTesting Model . Simple Insert Test . Cool Type . SUR PRI SED ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsecond Cool Type Ġ= ĠTesting Model . Simple Insert Test . Cool Type . TEST ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . add Cool Types ( first Cool Type ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . add Cool Types ( second Cool Type ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrecords Ġ= ĠProtobuf Utils . convert Protobuf Object To Records ( test Model . build (), ĠHashMap ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrecords . table Records List . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . drop Table ( it . table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . createTable ( it . table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . bulk Insert ( it . records , Ġit . table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġact ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġschemas Ġ= Ġentity Service . getSchema Names () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġassert ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln ( schemas ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( schemas . isNotEmpty ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfinally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . close () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcleanup ?. build () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsimple Schema Tables Test ( entity Service : ĠI Entity Service , Ġcleanup : ĠI Builder < Boolean >? Ġ= Ġnull , Ġschema Name : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġarrange ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtest Model Ġ= ĠTesting Model . Simple Insert Test . newBuilder () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . id Ġ= ĠUUID . randomUUID (). toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . cool Type Ġ= ĠTesting Model . Simple Insert Test . Cool Type . SUR PRI SED ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . child Ġ= ĠTesting Model . Child . newBuilder (). setId ( UUID . randomUUID (). toString ()). set Test Display (" first Ġdisplay ") Ġ. build () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsub Test Child Ġ= ĠTesting Model . Child . newBuilder (). setId ( UUID . randomUUID (). toString ()). set Test Display (" second Ġdisplay ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . addChild s ( sub Test Child ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfirst Cool Type Ġ= ĠTesting Model . Simple Insert Test . Cool Type . SUR PRI SED ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsecond Cool Type Ġ= ĠTesting Model . Simple Insert Test . Cool Type . TEST ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . add Cool Types ( first Cool Type ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . add Cool Types ( second Cool Type ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrecords Ġ= ĠProtobuf Utils . convert Protobuf Object To Records ( test Model . build (), ĠHashMap ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrecords . table Records List . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . drop Table ( it . table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . createTable ( it . table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . bulk Insert ( it . records , Ġit . table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġact ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtable Names Ġ= Ġentity Service . getTable Names ( schema Name ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġassert ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln ( table Names ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( table Names . isNotEmpty ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfinally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . close () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcleanup ?. build () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsimple Table Definition Test ( entity Service : ĠI Entity Service , Ġcleanup : ĠI Builder < Boolean >? Ġ= Ġnull , Ġschema Name : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġarrange ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtest Model Ġ= ĠTesting Model . Simple Insert Test . newBuilder () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . id Ġ= ĠUUID . randomUUID (). toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . cool Type Ġ= ĠTesting Model . Simple Insert Test . Cool Type . SUR PRI SED ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . child Ġ= ĠTesting Model . Child . newBuilder (). setId ( UUID . randomUUID (). toString ()). set Test Display (" first Ġdisplay ") Ġ. build () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsub Test Child Ġ= ĠTesting Model . Child . newBuilder (). setId ( UUID . randomUUID (). toString ()). set Test Display (" second Ġdisplay ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . addChild s ( sub Test Child ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfirst Cool Type Ġ= ĠTesting Model . Simple Insert Test . Cool Type . SUR PRI SED ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsecond Cool Type Ġ= ĠTesting Model . Simple Insert Test . Cool Type . TEST ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . add Cool Types ( first Cool Type ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . add Cool Types ( second Cool Type ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrecords Ġ= ĠProtobuf Utils . convert Protobuf Object To Records ( test Model . build (), ĠHashMap ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrecords . table Records List . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . drop Table ( it . table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . createTable ( it . table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . bulk Insert ( it . records , Ġit . table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġact ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtable Definition Ġ= Ġentity Service . getTable Definition ( schema Name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTesting Model . Simple Insert Test . get Descriptor (). name ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġassert ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln ( table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( table Definition . column Definitions Count Ġ> Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfinally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . close () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcleanup ?. build () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsimple Pass Through Empty As Null Test ( entity Service : ĠI Entity Service , Ġcleanup : ĠI Builder < Boolean >? Ġ= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġarrange ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtest Model Ġ= ĠTesting Model . Simple Insert Test . newBuilder () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . id Ġ= ĠUUID . randomUUID (). toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . cool Type Ġ= ĠTesting Model . Simple Insert Test . Cool Type . SUR PRI SED ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . child Ġ= ĠTesting Model . Child . newBuilder (). setId ( UUID . randomUUID (). toString ()). set Test Display (" first Ġdisplay ") Ġ. build () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsub Test Child Ġ= ĠTesting Model . Child . newBuilder (). setId ( UUID . randomUUID (). toString ()). set Test Display (" second Ġdisplay ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . addChild s ( sub Test Child ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfirst Cool Type Ġ= ĠTesting Model . Simple Insert Test . Cool Type . SUR PRI SED ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsecond Cool Type Ġ= ĠTesting Model . Simple Insert Test . Cool Type . TEST ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . add Cool Types ( first Cool Type ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . add Cool Types ( second Cool Type ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrecords Ġ= ĠProtobuf Utils . convert Protobuf Object To Records ( test Model . build ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġact ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrecords . table Records List . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . drop Table ( it . table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . createTable ( it . table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . bulk Insert ( it . records , Ġit . table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġassert ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( true ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfinally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . close () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcleanup ?. build () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsimple Pass Through 2 Empty As Null Test ( entity Service : ĠI Entity Service , Ġcleanup : ĠI Builder < Boolean >? Ġ= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġarrange ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtest Model Ġ= ĠTesting Model . Simple Insert Test . newBuilder () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . id Ġ= ĠUUID . randomUUID (). toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . cool Type Ġ= ĠTesting Model . Simple Insert Test . Cool Type . SUR PRI SED ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . child Ġ= ĠTesting Model . Child . newBuilder (). setId ( UUID . randomUUID (). toString ()). set Test Display (" first Ġdisplay ") Ġ. build () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsub Test Child Ġ= ĠTesting Model . Child . newBuilder (). setId ( UUID . randomUUID (). toString ()). set Test Display (" second Ġdisplay ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . addChild s ( sub Test Child ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfirst Cool Type Ġ= ĠTesting Model . Simple Insert Test . Cool Type . SUR PRI SED ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsecond Cool Type Ġ= ĠTesting Model . Simple Insert Test . Cool Type . TEST ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . add Cool Types ( first Cool Type ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . add Cool Types ( second Cool Type ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrecords Ġ= ĠProtobuf Utils . convert Protobuf Object To Records ( test Model . build (), ĠHashMap ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrecords . table Records List . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . drop Table ( it . table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . createTable ( it . table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . bulk Insert ( it . records , Ġit . table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġact ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrecord Ġ= ĠProtobuf Utils . get Proto Object From Builder Single < Testing Model . Child >( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTesting Model . Child . getDefaultInstance (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsub Test Child . id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠHashMap (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠHashMap ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġassert ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( record Ġis ĠTesting Model . Child ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( record !!. test Display Ġ== Ġ" second Ġdisplay ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfinally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . close () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcleanup ?. build () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġverify Types Saved And Returned Correct ly Empty As Null Test ( entity Service : ĠI Entity Service , Ġcleanup : ĠI Builder < Boolean >? Ġ= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġarrange ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtest Model Ġ= ĠTesting Model . Simple Insert Test . newBuilder () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . id Ġ= ĠUUID . randomUUID (). toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . cool Type Ġ= ĠTesting Model . Simple Insert Test . Cool Type . SUR PRI SED ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . child Ġ= ĠTesting Model . Child . newBuilder (). setId ( UUID . randomUUID (). toString ()). set Test Display (" first Ġdisplay ") Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . display Ġ= Ġ" random Ġdisplay " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . test Int 3 2 Ġ= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . test Int 6 4 Ġ= Ġ 2 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . test Uint 3 2 Ġ= Ġ 3 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . test Uint 6 4 Ġ= Ġ 4 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . test Sint 3 2 Ġ= Ġ 5 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . test Sint 6 4 Ġ= Ġ 6 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . test Fixed 3 2 Ġ= Ġ 7 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . test Fixed 6 4 Ġ= Ġ 8 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . test S fixed 3 2 Ġ= Ġ 9 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . test S fixed 6 4 Ġ= Ġ 1 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . test Bool Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . test Bytes Ġ= ĠByte String . copyFrom Utf 8 (" what Ġis Ġthis ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . test Double Ġ= Ġ 1 1 . 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . test Float Ġ= Ġ 1 2 . 0 F ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsub Test Child Ġ= ĠTesting Model . Child . newBuilder (). setId ( UUID . randomUUID (). toString ()). set Test Display (" second Ġdisplay ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . addChild s ( sub Test Child ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfirst Cool Type Ġ= ĠTesting Model . Simple Insert Test . Cool Type . SUR PRI SED ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsecond Cool Type Ġ= ĠTesting Model . Simple Insert Test . Cool Type . TEST ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . add Cool Types ( first Cool Type ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . add Cool Types ( second Cool Type ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrecords Ġ= ĠProtobuf Utils . convert Protobuf Object To Records ( test Model . build (), ĠHashMap ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrecords . table Records List . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . drop Table ( it . table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . createTable ( it . table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . bulk Insert ( it . records , Ġit . table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġact ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrecord Ġ= ĠProtobuf Utils . get Proto Object From Builder Single < Testing Model . Simple Insert Test >( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTesting Model . Simple Insert Test . getDefaultInstance (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠHashMap (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠHashMap ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġassert ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( record Ġis ĠTesting Model . Simple Insert Test ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( record !!. cool Type Ġ== ĠTesting Model . Simple Insert Test . Cool Type . SUR PRI SED ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( record . display Ġ== Ġtest Model . display ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( record . test Int 3 2 Ġ== Ġtest Model . test Int 3 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( record . test Int 6 4 Ġ== Ġtest Model . test Int 6 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( record . test Uint 3 2 Ġ== Ġtest Model . test Uint 3 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( record . test Uint 6 4 Ġ== Ġtest Model . test Uint 6 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( record . test Sint 3 2 Ġ== Ġtest Model . test Sint 3 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( record . test Sint 6 4 Ġ== Ġtest Model . test Sint 6 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( record . test Fixed 3 2 Ġ== Ġtest Model . test Fixed 3 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( record . test Fixed 6 4 Ġ== Ġtest Model . test Fixed 6 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( record . test S fixed 3 2 Ġ== Ġtest Model . test S fixed 3 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( record . test S fixed 6 4 Ġ== Ġtest Model . test S fixed 6 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( record . test Bool Ġ== Ġtest Model . test Bool ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( record . test Bytes Ġ== Ġtest Model . test Bytes ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( record . test Double Ġ== Ġtest Model . test Double ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( record . test Float Ġ== Ġtest Model . test Float ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfinally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . close () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcleanup ?. build () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġverify Repeated Nums Saved And Returned Correct ly Empty As Null Test ( entity Service : ĠI Entity Service , Ġcleanup : ĠI Builder < Boolean >? Ġ= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġarrange ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtest Model Ġ= ĠTesting Model . Simple Insert Test . newBuilder () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . id Ġ= ĠUUID . randomUUID (). toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . cool Type Ġ= ĠTesting Model . Simple Insert Test . Cool Type . SUR PRI SED ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . child Ġ= ĠTesting Model . Child . newBuilder (). setId ( UUID . randomUUID (). toString ()). set Test Display (" first Ġdisplay ") Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . display Ġ= Ġ" random Ġdisplay " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . test Int 3 2 Ġ= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . test Int 6 4 Ġ= Ġ 2 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . test Uint 3 2 Ġ= Ġ 3 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . test Uint 6 4 Ġ= Ġ 4 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . test Sint 3 2 Ġ= Ġ 5 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . test Sint 6 4 Ġ= Ġ 6 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . test Fixed 3 2 Ġ= Ġ 7 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . test Fixed 6 4 Ġ= Ġ 8 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . test S fixed 3 2 Ġ= Ġ 9 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . test S fixed 6 4 Ġ= Ġ 1 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . test Bool Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . test Bytes Ġ= ĠByte String . copyFrom Utf 8 (" what Ġis Ġthis ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . test Double Ġ= Ġ 1 1 . 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . test Float Ġ= Ġ 1 2 . 0 F ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsub Test Child Ġ= ĠTesting Model . Child . newBuilder (). setId ( UUID . randomUUID (). toString ()). set Test Display (" second Ġdisplay ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . addChild s ( sub Test Child ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfirst Cool Type Ġ= ĠTesting Model . Simple Insert Test . Cool Type . SUR PRI SED ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsecond Cool Type Ġ= ĠTesting Model . Simple Insert Test . Cool Type . TEST ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . add Cool Types ( first Cool Type ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . add Cool Types ( second Cool Type ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrecords Ġ= ĠProtobuf Utils . convert Protobuf Object To Records ( test Model . build (), ĠHashMap ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrecords . table Records List . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . drop Table ( it . table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . createTable ( it . table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . bulk Insert ( it . records , Ġit . table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġact ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrecord Ġ= ĠProtobuf Utils . get Proto Object From Builder Single < Testing Model . Simple Insert Test >( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTesting Model . Simple Insert Test . getDefaultInstance (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠHashMap (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠHashMap ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġassert ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( record Ġis ĠTesting Model . Simple Insert Test ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( record !!. cool Types Count Ġ== Ġ 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( record . cool Types List . any Ġ{ Ġit Ġ== ĠTesting Model . Simple Insert Test . Cool Type . SUR PRI SED Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( record . cool Types List . any Ġ{ Ġit Ġ== ĠTesting Model . Simple Insert Test . Cool Type . TEST Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfinally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . close () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcleanup ?. build () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġverify Repeated Messages Saved And Returned Correct ly Empty As Null Test ( entity Service : ĠI Entity Service , Ġcleanup : ĠI Builder < Boolean >? Ġ= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġarrange ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtest Model Ġ= ĠTesting Model Utilities . build Sample Root Object () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrecords Ġ= ĠProtobuf Utils . convert Protobuf Object To Records ( test Model . build (), ĠHashMap ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrecords . table Records List . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . drop Table ( it . table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . createTable ( it . table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . bulk Insert ( it . records , Ġit . table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġact ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġinserted Record Ġ= ĠProtobuf Utils . get Proto Object From Builder Single < Testing Model . Simple Insert Test >( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTesting Model . Simple Insert Test . getDefaultInstance (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠHashMap (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠHashMap ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġassert ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( inserted Record Ġis ĠTesting Model . Simple Insert Test ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . out . println ( inserted Record !!. child s Count ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( inserted Record . child s Count Ġ== Ġ 3 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( inserted Record . child s List . any Ġ{ Ġit . test Display Ġ== ĠTesting Model Utilities . Sub Test Child Ġ&& Ġit . id Ġ== ĠTesting Model Utilities . Sub Test Child Id Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( inserted Record . child s List . any Ġ{ Ġit . test Display Ġ== ĠTesting Model Utilities . Sub Test Child 2 Ġ&& Ġit . id Ġ== ĠTesting Model Utilities . Sub Test Child 2 Id Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( inserted Record . child s List . any Ġ{ Ġit . test Display Ġ== ĠTesting Model Utilities . Sub Test Child 3 Ġ&& Ġit . id Ġ== ĠTesting Model Utilities . Sub Test Child 3 Id Ġ}) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsub Test Child Found Ġ= Ġinserted Record . child s List . first Ġ{ Ġit . test Display Ġ== ĠTesting Model Utilities . Sub Test Child Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( sub Test Child Found . sub Child Count Ġ== Ġ 1 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġanother Sub Test Child Ġ= Ġsub Test Child Found . sub Child List . first () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( another Sub Test Child . id Ġ== Ġanother Sub Test Child . id ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( another Sub Test Child . another Test Display Ġ== ĠTesting Model Utilities . Sub Child Another Test Display ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( another Sub Test Child . sub Sub Child Count Ġ== Ġ 1 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsub Sub Child Found Ġ= Ġanother Sub Test Child . sub Sub Child List . first () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( Testing Model Utilities . Sub Sub Child Id Ġ== Ġsub Sub Child Found . id ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( Testing Model Utilities . Sub Sub Child Display Ġ== Ġsub Sub Child Found . sub Sub Display ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfinally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . close () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcleanup ?. build () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsimple Pass Through Definition Empty As Null Test ( entity Service : ĠI Entity Service , Ġcleanup : ĠI Builder < Boolean >? Ġ= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġarrange ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtest Model Ġ= ĠTesting Model . Simple Insert Test . newBuilder () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . id Ġ= ĠUUID . randomUUID (). toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . cool Type Ġ= ĠTesting Model . Simple Insert Test . Cool Type . SUR PRI SED ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . child Ġ= ĠTesting Model . Child . newBuilder (). setId ( UUID . randomUUID (). toString ()). set Test Display (" first Ġdisplay ") Ġ. build () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsub Test Child Ġ= ĠTesting Model . Child . newBuilder (). setId ( UUID . randomUUID (). toString ()). set Test Display (" second Ġdisplay ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . addChild s ( sub Test Child ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfirst Cool Type Ġ= ĠTesting Model . Simple Insert Test . Cool Type . SUR PRI SED ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsecond Cool Type Ġ= ĠTesting Model . Simple Insert Test . Cool Type . TEST ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . add Cool Types ( first Cool Type ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . add Cool Types ( second Cool Type ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrecords Ġ= ĠProtobuf Utils . convert Protobuf Object To Records ( test Model . build ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġact ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrecords . table Records List . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . drop Table ( it . table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . createTable ( it . table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . bulk Insert ( it . records , Ġit . table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġassert ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( true ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfinally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . close () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcleanup ?. build () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsimple Definition Builder Empty As Null Test ( entity Service : ĠI Entity Service , Ġcleanup : ĠI Builder < Boolean >? Ġ= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġarrange ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtest Model Ġ= ĠTesting Model . Simple Insert Test . newBuilder () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . id Ġ= ĠUUID . randomUUID (). toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . cool Type Ġ= ĠTesting Model . Simple Insert Test . Cool Type . SUR PRI SED ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . child Ġ= ĠTesting Model . Child . newBuilder (). setId ( UUID . randomUUID (). toString ()). set Test Display (" first Ġdisplay ") Ġ. build () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsub Test Child Ġ= ĠTesting Model . Child . newBuilder (). setId ( UUID . randomUUID (). toString ()). set Test Display (" second Ġdisplay ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . addChild s ( sub Test Child ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfirst Cool Type Ġ= ĠTesting Model . Simple Insert Test . Cool Type . SUR PRI SED ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsecond Cool Type Ġ= ĠTesting Model . Simple Insert Test . Cool Type . TEST ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . add Cool Types ( first Cool Type ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . add Cool Types ( second Cool Type ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrecords Ġ= ĠProtobuf Utils . convert Protobuf Object To Records ( test Model . build (), ĠHashMap ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrecords . table Records List . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . drop Table ( it . table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . createTable ( it . table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . bulk Insert ( it . records , Ġit . table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġact ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtable Definition Ġ= Ġentity Service . build Definition From Sql (" select Ġ* Ġfrom ĠSimple Insert Test ; ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġassert ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . out . println ( table Definition . column Definitions Count ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtable Definition . column Definitions List . sorted By Ġ{ Ġit . order Ġ}. forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . out . println ("${ it . name }\ t ${ it . type }\ t ${ it . order }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( table Definition . column Definitions Count Ġ== Ġ 1 8 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfinally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . close () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcleanup ?. build () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsimple Schema Empty As Null Test ( entity Service : ĠI Entity Service , Ġcleanup : ĠI Builder < Boolean >? Ġ= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġarrange ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtest Model Ġ= ĠTesting Model . Simple Insert Test . newBuilder () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . id Ġ= ĠUUID . randomUUID (). toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . cool Type Ġ= ĠTesting Model . Simple Insert Test . Cool Type . SUR PRI SED ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . child Ġ= ĠTesting Model . Child . newBuilder (). setId ( UUID . randomUUID (). toString ()). set Test Display (" first Ġdisplay ") Ġ. build () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsub Test Child Ġ= ĠTesting Model . Child . newBuilder (). setId ( UUID . randomUUID (). toString ()). set Test Display (" second Ġdisplay ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . addChild s ( sub Test Child ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfirst Cool Type Ġ= ĠTesting Model . Simple Insert Test . Cool Type . SUR PRI SED ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsecond Cool Type Ġ= ĠTesting Model . Simple Insert Test . Cool Type . TEST ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . add Cool Types ( first Cool Type ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . add Cool Types ( second Cool Type ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrecords Ġ= ĠProtobuf Utils . convert Protobuf Object To Records ( test Model . build (), ĠHashMap ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrecords . table Records List . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . drop Table ( it . table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . createTable ( it . table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . bulk Insert ( it . records , Ġit . table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġact ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġschemas Ġ= Ġentity Service . getSchema Names () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġassert ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln ( schemas ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( schemas . isNotEmpty ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfinally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . close () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcleanup ?. build () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsimple Schema Tables Empty As Null Test ( entity Service : ĠI Entity Service , Ġcleanup : ĠI Builder < Boolean >? Ġ= Ġnull , Ġschema Name : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġarrange ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtest Model Ġ= ĠTesting Model . Simple Insert Test . newBuilder () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . id Ġ= ĠUUID . randomUUID (). toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . cool Type Ġ= ĠTesting Model . Simple Insert Test . Cool Type . SUR PRI SED ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . child Ġ= ĠTesting Model . Child . newBuilder (). setId ( UUID . randomUUID (). toString ()). set Test Display (" first Ġdisplay ") Ġ. build () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsub Test Child Ġ= ĠTesting Model . Child . newBuilder (). setId ( UUID . randomUUID (). toString ()). set Test Display (" second Ġdisplay ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . addChild s ( sub Test Child ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfirst Cool Type Ġ= ĠTesting Model . Simple Insert Test . Cool Type . SUR PRI SED ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsecond Cool Type Ġ= ĠTesting Model . Simple Insert Test . Cool Type . TEST ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . add Cool Types ( first Cool Type ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . add Cool Types ( second Cool Type ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrecords Ġ= ĠProtobuf Utils . convert Protobuf Object To Records ( test Model . build (), ĠHashMap ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrecords . table Records List . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . drop Table ( it . table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . createTable ( it . table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . bulk Insert ( it . records , Ġit . table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġact ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtable Names Ġ= Ġentity Service . getTable Names ( schema Name ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġassert ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln ( table Names ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( table Names . isNotEmpty ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfinally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . close () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcleanup ?. build () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsimple Table Definition Empty As Null Test ( entity Service : ĠI Entity Service , Ġcleanup : ĠI Builder < Boolean >? Ġ= Ġnull , Ġschema Name : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġarrange ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtest Model Ġ= ĠTesting Model . Simple Insert Test . newBuilder () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . id Ġ= ĠUUID . randomUUID (). toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . cool Type Ġ= ĠTesting Model . Simple Insert Test . Cool Type . SUR PRI SED ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . child Ġ= ĠTesting Model . Child . newBuilder (). setId ( UUID . randomUUID (). toString ()). set Test Display (" first Ġdisplay ") Ġ. build () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsub Test Child Ġ= ĠTesting Model . Child . newBuilder (). setId ( UUID . randomUUID (). toString ()). set Test Display (" second Ġdisplay ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . addChild s ( sub Test Child ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfirst Cool Type Ġ= ĠTesting Model . Simple Insert Test . Cool Type . SUR PRI SED ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsecond Cool Type Ġ= ĠTesting Model . Simple Insert Test . Cool Type . TEST ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . add Cool Types ( first Cool Type ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Model . add Cool Types ( second Cool Type ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrecords Ġ= ĠProtobuf Utils . convert Protobuf Object To Records ( test Model . build (), ĠHashMap ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrecords . table Records List . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . drop Table ( it . table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . createTable ( it . table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . bulk Insert ( it . records , Ġit . table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġact ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtable Definition Ġ= Ġentity Service . getTable Definition ( schema Name , ĠTesting Model . Simple Insert Test . get Descriptor (). name ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġassert ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln ( table Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( table Definition . column Definitions Count Ġ> Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfinally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġentity Service . close () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcleanup ?. build () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }