package Ġcom . db flow 5 . sql . language Ċ Ċ import Ġcom . db flow 5 . Base UnitTest Ċ import Ġcom . db flow 5 . assertEquals Ċ import Ġcom . db flow 5 . config . database For Table Ċ import Ġcom . db flow 5 . models . Simple Model Ċ import Ġcom . db flow 5 . models . Simple Model _ Table . name Ċ import Ġcom . db flow 5 . models . Two Column Model Ċ import Ġcom . db flow 5 . models . Two Column Model _ Table . id Ċ import Ġcom . db flow 5 . query . Name Alias Ċ import Ġcom . db flow 5 . query . cast Ċ import Ġcom . db flow 5 . query . create Temp Trigger Ċ import Ġcom . db flow 5 . query . create Trigger Ċ import Ġcom . db flow 5 . query . insert Ċ import Ġcom . db flow 5 . query . insert On Ċ import Ġcom . db flow 5 . query . property . property Ċ import Ġcom . db flow 5 . query . select Ċ import Ġcom . db flow 5 . query . update On Ċ import Ġcom . db flow 5 . sql . SQLite Type Ċ import Ġcom . db flow 5 . structure . insert Ċ import Ġorg . junit . Assert . assertNotNull Ċ import Ġorg . junit . Test Ċ Ċ class ĠTrigger Test Ġ: ĠBase UnitTest () Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġvalidate Basic Trigger () Ġ{ ĊĠĠĠĠĠĠĠ Ġ(" CREATE ĠTR IG GER ĠIF ĠNOT ĠEXISTS Ġ` My Trigger ` ĠAFTER ĠINSERT ĠON Ġ` Simple Model ` Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"\ n BEGIN " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"\ n INSERT ĠINTO Ġ` Two Column Model ` (` name `) ĠVALUES (` new `.` name `); " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"\ n END "). assertEquals ( create Trigger (" My Trigger "). after () Ġinsert On ĠSimple Model :: class Ġbegin ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinsert ( Two Column Model :: class ). column Values ( name Ġto ĠName Alias . of Table (" new ", Ġ" name "))) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġvalidate Update Trigger Mult iline () Ġ{ ĊĠĠĠĠĠĠĠ Ġ(" CREATE ĠTEMP ĠTR IG GER ĠIF ĠNOT ĠEXISTS Ġ` My Trigger ` ĠBE FORE ĠUPDATE ĠON Ġ` Simple Model ` Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"\ n BEGIN " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"\ n INSERT ĠINTO Ġ` Two Column Model ` (` name `) ĠVALUES (` new `.` name `); " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"\ n INSERT ĠINTO Ġ` Two Column Model ` (` id `) ĠVALUES ( CAST (` new `.` name ` ĠAS ĠINTEGER )); " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"\ n END ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. assertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcreate Temp Trigger (" My Trigger "). before () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupdate On ĠSimple Model :: class ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbegin ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinsert ( Two Column Model :: class , Ġname ). values ( Name Alias . of Table (" new ", Ġ" name ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġand ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinsert ( Two Column Model :: class , Ġid ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. values ( cast ( Name Alias . of Table (" new ", Ġ" name "). property ). ` as `( SQLite Type . INTEGER )) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġvalidate Trigger Works () Ġ{ ĊĠĠĠĠĠĠĠ Ġdatabase For Table < Simple Model > Ġ{ Ġdb Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtrigger Ġ= Ġcreate Trigger (" My Trigger "). after () Ġinsert On ĠSimple Model :: class Ġbegin ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinsert ( Two Column Model :: class ). column Values ( name Ġto ĠName Alias . of Table (" new ", Ġ" name ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrigger . enable ( db ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSimple Model (" Test "). insert ( db ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġselect Ġfrom ĠTwo Column Model :: class Ġwhere Ġ( name Ġeq Ġ" Test ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertNotNull ( result ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }