package Ġcom . there al blue pand ab ear . pix ap encil . data . local . pixel art cre ations da ot ests Ċ Ċ import Ġandroidx . arch . core . executor . testing . Instant Task Executor Rule Ċ import Ġandroidx . room . Room Ċ import Ġandroidx . test . core . app . Application Provider Ċ import Ġandroidx . test . ext . junit . runners . Android JUnit 4 Ċ import Ġandroidx . test . filters . Small Test Ċ import Ġcom . there al blue pand ab ear . pix ap encil . dao . Pixel Art Cre ations Dao Ċ import Ġcom . there al blue pand ab ear . pix ap encil . database . Pixel Art Database Ċ import Ġcom . there al blue pand ab ear . pix ap encil . get Or Await Value Ċ import Ġcom . there al blue pand ab ear . pix ap encil . models . Pixel Art Ċ import Ġio . mock k . every Ċ import Ġio . mock k . mock k Ċ import Ġkotlinx . coroutines . Experimental Cor outines Api Ċ import Ġkotlinx . coroutines . test . run Test Ċ import Ġorg . junit . After Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Rule Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . runner . RunWith Ċ Ċ @ Opt In ( Experimental Cor outines Api :: class ) Ċ @ RunWith ( Android JUnit 4 :: class ) Ċ @ Small Test Ċ Ċ class ĠPixel Art Cre ations Deletion Tests Ġ{ ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġdatabase : ĠPixel Art Database ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġdao : ĠPixel Art Cre ations Dao ĊĊĠĠĠ Ġ@ get : Rule ĊĠĠĠ Ġvar Ġinstant Executor Rule Ġ= ĠInstant Task Executor Rule () ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun Ġsetup () Ġ{ ĊĠĠĠĠĠĠĠ Ġdatabase Ġ= ĠRoom . in Memory Database Builder ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠApplication Provider . getApplicationContext (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPixel Art Database :: class . java ĊĠĠĠĠĠĠĠ Ġ). allow MainThread Queries (). build () ĊĠĠĠĠĠĠĠ Ġdao Ġ= Ġdatabase . pixel Art Cre ations Dao () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ After ĊĠĠĠ Ġfun ĠtearDown () Ġ{ ĊĠĠĠĠĠĠĠ Ġdatabase . close () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġinsert 5 Pixel Art Cre ations _ delete Items _ assert Size Changes () Ġ{ ĊĠĠĠĠĠĠĠ Ġrun Test Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 1 .. 5 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpixel Art Creation Ġ= Ġmock k < Pixel Art >( relax ed Ġ= Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevery Ġ{ Ġpixel Art Creation . obj Id Ġ} Ġreturns Ġi ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdao . insert Pixel Art ( pixel Art Creation ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdao . delete Pixel Art Creation ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert ( dao . getAll Pixel Art Cre ations (). get Or Await Value (). size Ġ== Ġ 4 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdao . delete Pixel Art Creation ( 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert ( dao . getAll Pixel Art Cre ations (). get Or Await Value (). size Ġ== Ġ 3 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdao . delete Pixel Art Creation ( 3 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert ( dao . getAll Pixel Art Cre ations (). get Or Await Value (). size Ġ== Ġ 2 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdao . delete Pixel Art Creation ( 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert ( dao . getAll Pixel Art Cre ations (). get Or Await Value (). size Ġ== Ġ 1 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdao . delete Pixel Art Creation ( 5 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert ( dao . getAll Pixel Art Cre ations (). get Or Await Value (). isEmpty ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġinsert 1 6 Pixel Art Cre ations _ delete Half _ assert Size 8 () Ġ{ ĊĠĠĠĠĠĠĠ Ġrun Test Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 1 .. 1 6 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpixel Art Creation Ġ= Ġmock k < Pixel Art >( relax ed Ġ= Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevery Ġ{ Ġpixel Art Creation . obj Id Ġ} Ġreturns Ġi ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdao . insert Pixel Art ( pixel Art Creation ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 1 .. 8 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdao . delete Pixel Art Creation ( i ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert ( dao . getAll Pixel Art Cre ations (). get Or Await Value (). size Ġ== Ġ 8 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġinsert 3 2 Pixel Art Cre ations _ delete Half _ assert Size 1 6 () Ġ{ ĊĠĠĠĠĠĠĠ Ġrun Test Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 1 .. 3 2 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpixel Art Creation Ġ= Ġmock k < Pixel Art >( relax ed Ġ= Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevery Ġ{ Ġpixel Art Creation . obj Id Ġ} Ġreturns Ġi ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdao . insert Pixel Art ( pixel Art Creation ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 1 .. 1 6 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdao . delete Pixel Art Creation ( i ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert ( dao . getAll Pixel Art Cre ations (). get Or Await Value (). size Ġ== Ġ 1 6 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġinsert 6 4 Pixel Art Cre ations _ delete Half _ assert Size 3 2 () Ġ{ ĊĠĠĠĠĠĠĠ Ġrun Test Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 1 .. 6 4 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpixel Art Creation Ġ= Ġmock k < Pixel Art >( relax ed Ġ= Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevery Ġ{ Ġpixel Art Creation . obj Id Ġ} Ġreturns Ġi ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdao . insert Pixel Art ( pixel Art Creation ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 1 .. 3 2 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdao . delete Pixel Art Creation ( i ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert ( dao . getAll Pixel Art Cre ations (). get Or Await Value (). size Ġ== Ġ 3 2 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġinsert 1 2 8 Pixel Art Cre ations _ delete Half _ assert Size 6 4 () Ġ{ ĊĠĠĠĠĠĠĠ Ġrun Test Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 1 .. 1 2 8 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpixel Art Creation Ġ= Ġmock k < Pixel Art >( relax ed Ġ= Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevery Ġ{ Ġpixel Art Creation . obj Id Ġ} Ġreturns Ġi ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdao . insert Pixel Art ( pixel Art Creation ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 1 .. 6 4 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdao . delete Pixel Art Creation ( i ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert ( dao . getAll Pixel Art Cre ations (). get Or Await Value (). size Ġ== Ġ 6 4 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġinsert 2 5 6 Pixel Art Cre ations _ delete Half _ assert Size 1 2 8 () Ġ{ ĊĠĠĠĠĠĠĠ Ġrun Test Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 1 .. 2 5 6 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpixel Art Creation Ġ= Ġmock k < Pixel Art >( relax ed Ġ= Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevery Ġ{ Ġpixel Art Creation . obj Id Ġ} Ġreturns Ġi ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdao . insert Pixel Art ( pixel Art Creation ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 1 .. 1 2 8 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdao . delete Pixel Art Creation ( i ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert ( dao . getAll Pixel Art Cre ations (). get Or Await Value (). size Ġ== Ġ 1 2 8 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġinsert 5 1 2 Pixel Art Cre ations _ delete Half _ assert Size 2 5 6 () Ġ{ ĊĠĠĠĠĠĠĠ Ġrun Test Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 1 .. 5 1 2 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpixel Art Creation Ġ= Ġmock k < Pixel Art >( relax ed Ġ= Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevery Ġ{ Ġpixel Art Creation . obj Id Ġ} Ġreturns Ġi ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdao . insert Pixel Art ( pixel Art Creation ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 1 .. 2 5 6 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdao . delete Pixel Art Creation ( i ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert ( dao . getAll Pixel Art Cre ations (). get Or Await Value (). size Ġ== Ġ 2 5 6 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġinsert 1 0 2 4 Pixel Art Cre ations _ delete Half _ assert Size 5 1 2 () Ġ{ ĊĠĠĠĠĠĠĠ Ġrun Test Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 1 .. 1 0 2 4 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpixel Art Creation Ġ= Ġmock k < Pixel Art >( relax ed Ġ= Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevery Ġ{ Ġpixel Art Creation . obj Id Ġ} Ġreturns Ġi ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdao . insert Pixel Art ( pixel Art Creation ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 1 .. 5 1 2 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdao . delete Pixel Art Creation ( i ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert ( dao . getAll Pixel Art Cre ations (). get Or Await Value (). size Ġ== Ġ 5 1 2 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġinsert 2 0 4 8 Pixel Art Cre ations _ delete Half _ assert Size 1 0 2 4 () Ġ{ ĊĠĠĠĠĠĠĠ Ġrun Test Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 1 .. 2 0 4 8 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpixel Art Creation Ġ= Ġmock k < Pixel Art >( relax ed Ġ= Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevery Ġ{ Ġpixel Art Creation . obj Id Ġ} Ġreturns Ġi ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdao . insert Pixel Art ( pixel Art Creation ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 1 .. 1 0 2 4 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdao . delete Pixel Art Creation ( i ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert ( dao . getAll Pixel Art Cre ations (). get Or Await Value (). size Ġ== Ġ 1 0 2 4 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġinsert 4 0 9 6 Pixel Art Cre ations _ delete Half _ assert Size 2 0 4 8 () Ġ{ ĊĠĠĠĠĠĠĠ Ġrun Test Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 1 .. 4 0 9 6 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpixel Art Creation Ġ= Ġmock k < Pixel Art >( relax ed Ġ= Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevery Ġ{ Ġpixel Art Creation . obj Id Ġ} Ġreturns Ġi ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdao . insert Pixel Art ( pixel Art Creation ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 1 .. 2 0 4 8 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdao . delete Pixel Art Creation ( i ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert ( dao . getAll Pixel Art Cre ations (). get Or Await Value (). size Ġ== Ġ 2 0 4 8 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġinsert 8 1 9 2 Pixel Art Cre ations _ delete Half _ assert Size 4 0 9 6 () Ġ{ ĊĠĠĠĠĠĠĠ Ġrun Test Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 1 .. 8 1 9 2 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpixel Art Creation Ġ= Ġmock k < Pixel Art >( relax ed Ġ= Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevery Ġ{ Ġpixel Art Creation . obj Id Ġ} Ġreturns Ġi ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdao . insert Pixel Art ( pixel Art Creation ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 1 .. 4 0 9 6 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdao . delete Pixel Art Creation ( i ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert ( dao . getAll Pixel Art Cre ations (). get Or Await Value (). size Ġ== Ġ 4 0 9 6 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } ĊĊ