package Ġcom . better . alarm Ċ Ċ import Ġandroid . database . Cursor Ċ import Ġcom . better . alarm . model . Alarm Store Ċ import Ġcom . better . alarm . model . Cal endars Ċ import Ġcom . better . alarm . model . Container Factory Ċ import Ġcom . better . alarm . pers istance . Pers isting Container Factory Ċ import Ġcom . better . alarm . stores . InMemory Rx DataStore Factory . Companion . in Memory Rx DataStore Ċ Ċ /** ĠCreated Ġby ĠY uri y Ġon Ġ 2 5 . 0 6 . 2 0 1 7 . Ġ*/ Ċ class ĠTest Container Factory ( private Ġval Ġcal endars : ĠCal endars ) Ġ: ĠContainer Factory Ġ{ ĊĠ Ġprivate Ġvar Ġid Counter : ĠInt Ġ= Ġ 0 ĊĠ Ġval Ġcreated Records Ġ= Ġmutable ListOf < Alarm Store >() ĊĊĠ Ġoverride Ġfun Ġcreate (): ĠAlarm Store Ġ{ ĊĠĠĠ Ġval Ġin Memory Ġ= ĊĠĠĠĠĠĠĠ Ġin Memory Rx DataStore ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPers isting Container Factory . create ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcal endars Ġ= Ġcal endars , Ġid Mapper Ġ= Ġ{ Ġ_ Ġ-> Ġid Counter ++ Ġ})) ĊĠĠĠ Ġreturn Ġobject Ġ: ĠAlarm Store Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġoverride Ġvar Ġvalue Ġ= Ġin Memory . value ĊĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġobserve () Ġ= Ġin Memory . observe () ĊĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġdelete () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcreated Records . remove If Ġ{ Ġit . value . id Ġ== Ġvalue . id Ġ} ĊĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ. also Ġ{ Ġcreated Records . add ( it ) Ġ} ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġcreate ( cursor : ĠCursor ): ĠAlarm Store Ġ{ ĊĠĠĠ Ġthrow ĠUnsupportedOperationException () ĊĠ Ġ} Ċ } Ċ