package Ġworld . ph ant asm al . observable . cell . list Ċ Ċ import Ġworld . ph ant asm al . observable . cell . Cell Ċ import Ġworld . ph ant asm al . observable . cell . Cell With Dependencies Tests Ċ import Ġworld . ph ant asm al . observable . cell . Immutable Cell Ċ Ċ /** Ċ Ġ* ĠIn Ġthese Ġtests Ġthe Ġdependency Ġof Ġthe Ġ[ Flatten ing Dependent List Cell ]' s Ġdirect Ġdependency Ġchanges . Ċ Ġ*/ Ċ class ĠFlat ten ing Dependent List Cell Trans itive Dependency Emit s Tests Ġ: ĊĠĠĠ ĠList Cell Tests , ĊĠĠĠ ĠCell With Dependencies Tests Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Provider () Ġ= Ġcreate List Provider ( empty Ġ= Ġtrue ) ĊĊĠĠĠ Ġoverride Ġfun Ġcreate List Provider ( empty : ĠBoolean ) Ġ= ĠProvider ( empty ) ĊĊĠĠĠ Ġclass ĠProvider ( empty : ĠBoolean ) Ġ: ĠList Cell Tests . Provider , ĠCell With Dependencies Tests . Provider Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠThe Ġtrans itive Ġdependency Ġcan Ġchange . ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġtrans itive Dependency Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSimple List Cell ( if Ġ( empty ) Ġmutable ListOf () Ġelse Ġmutable ListOf ( 7 )) ĊĊĠĠĠĠĠĠĠ Ġ// ĠThe Ġdirect Ġdependency Ġof Ġthe Ġlist Ġunder Ġtest Ġcan 't Ġchange . ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġdirect Dependency Ġ= ĠImmutable Cell < List Cell < Int >>( trans itive Dependency ) ĊĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġobservable Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFlat ten ing Dependent List Cell ( direct Dependency ) Ġ{ Ġdirect Dependency . value Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġadd Element () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠUpdate Ġthe Ġtrans itive Ġdependency . ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrans itive Dependency . add ( 4 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcreate With Dependencies ( var arg Ġdependencies : ĠCell < Int >): ĠCell < Any > Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFlat ten ing Dependent List Cell (* dependencies ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠImmutableList Cell ( dependencies . map Ġ{ Ġit . value Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ