package Ġru . ot us . ot us kotlin . marketplace . backend . repository . in memory Ċ Ċ import Ġkotlinx . coroutines . run Blocking Ċ import Ġru . ot us . ot us kotlin . marketplace . backend . repository . in memory . arts . Art Repo InMemory Ċ import Ġru . ot us . ot us kotlin . marketplace . common . backend . context . Mp Be Context Ċ import Ġru . ot us . ot us kotlin . marketplace . common . backend . models . Mp Art Model Ċ import Ġkotlin . test . Test Ċ import Ġkotlin . test . assertEquals Ċ import Ġkotlin . test . assertTrue Ċ import Ġkotlin . time . Duration Unit Ċ import Ġkotlin . time . Experimental Time Ċ import Ġkotlin . time . to Duration Ċ Ċ internal Ġclass ĠBaseTest Ġ{ ĊĊĠĠĠ Ġ@ Opt In ( Experimental Time :: class ) ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġcreate AndGet Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrepo Ġ= ĠArt Repo InMemory ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġttl Ġ= Ġ 5 . to Duration ( Duration Unit . MIN UTES ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġart Ġ= ĠM p Art Model ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= Ġ" art - title ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġ" art - description ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtag Ids Ġ= Ġmutable Set Of (" art - tag "), ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġcontext Ġ= ĠM p Be Context ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest Art Ġ= Ġart ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcreated Art Ġ= Ġrepo . create ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" art - title ", Ġcreated Art . title ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" art - description ", Ġcreated Art . description ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue Ġ{ Ġcreated Art . tag Ids . isNotEmpty () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . request Art Id Ġ= Ġcreated Art . id ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġread Art Ġ= Ġrepo . read ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( created Art . id , Ġread Art . id ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" art - title ", Ġread Art . title ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" art - description ", Ġread Art . description ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue Ġ{ read Art . tag Ids . isNotEmpty () Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ