package Ġcom . android human . r xf ire base 2 . database Ċ Ċ import Ġcom . android human . r xf ire base 2 . database . model . Data Value Ċ import Ġcom . google . firebase . database . Child EventListener Ċ import Ġcom . google . firebase . database . Data Snapshot Ċ import Ġcom . google . firebase . database . Database Exception Ċ import Ġcom . google . firebase . database . Database Reference Ċ import Ġcom . google . firebase . database . GenericType Indicator Ċ import Ġcom . google . firebase . database . Mutable Data Ċ import Ġcom . google . firebase . database . Query Ċ import Ġcom . google . firebase . database . Transaction Ċ import Ġcom . google . firebase . database . Value EventListener Ċ import Ġcom . n ha ar man . mockito _ kotlin . argument Captor Ċ import Ġcom . n ha ar man . mockito _ kotlin . eq Ċ import Ġcom . n ha ar man . mockito _ kotlin . mock Ċ import Ġcom . n ha ar man . mockito _ kotlin . times Ċ import Ġcom . n ha ar man . mockito _ kotlin . verify Ċ import Ġcom . n ha ar man . mockito _ kotlin . wh enever Ċ import Ġio . reactivex . Back pressure Strategy Ċ import Ġio . reactivex . ob servers . Test Observer Ċ import Ġio . reactivex . subscribers . Test Subscriber Ċ import Ġorg . assertj . core . api . Assertions . assertThat Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Test Ċ import Ġorg . mockito . Mock Ċ import Ġorg . mockito . Mockito Annotations Ċ Ċ @ Suppress (" NOTH ING _ TO _ INLINE ") Ċ class ĠR xF ire base Database Test Ġ{ ĊĊĠĠĠ Ġ@ Mock ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġdatabase Reference : ĠDatabase Reference ĊĊĠĠĠ Ġ@ Mock ĊĠĠĠ Ġlateinit Ġvar Ġquery : ĠQuery ĊĊĠĠĠ Ġprivate Ġval Ġchild EventListener Ġ= Ġargument Captor < Child EventListener >() ĊĊĠĠĠ Ġprivate Ġval Ġvalue EventListener Ġ= Ġargument Captor < Value EventListener >() ĊĊĠĠĠ Ġprivate Ġval Ġtransaction Handler Ġ= Ġargument Captor < Transaction . Handler >() ĊĊĠĠĠ Ġprivate Ġval Ġcompletion Listener Ġ= Ġargument Captor < Database Reference . Completion Listener >() ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun Ġsetup () Ġ{ ĊĠĠĠĠĠĠĠ ĠMockito Annotations . init Mocks ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠBind ings Ġfor ĠDatabase Reference ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdata Reference Flow able Child Events Added () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsnapshot Ġ= Ġmock < Data Snapshot >() ĊĊĠĠĠĠĠĠĠ Ġwith ( Test Subscriber . create < Child Event >()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR xF ire base Database . child Events ( database Reference , ĠBack pressure Strategy . BUFFER ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġverify Ġadd Child EventListener () Ġhas Ġcalled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase Reference . verify AddChild EventListener Called () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild EventListener . last Value . on Child Added ( snapshot , Ġ" foo ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild EventListener . last Value . on Child Added ( snapshot , Ġ" bar ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Not Complete () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert No Errors () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Values ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠChild Add Event . create ( snapshot , Ġ" foo "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠChild Add Event . create ( snapshot , Ġ" bar ")) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdispose () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild EventListener . last Value . on Child Added ( snapshot , Ġ" baz ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġassert Ġno Ġmore Ġvalues Ġare Ġemitted ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Value Count ( 2 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdata Reference Observable Child Events Added () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsnapshot Ġ= Ġmock < Data Snapshot >() ĊĊĠĠĠĠĠĠĠ Ġwith ( Test Observer . create < Child Event >()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR xF ire base Database . child Events ( database Reference ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġverify Ġadd Child EventListener () Ġhas Ġcalled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase Reference . verify AddChild EventListener Called () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild EventListener . last Value . on Child Added ( snapshot , Ġ" foo ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild EventListener . last Value . on Child Added ( snapshot , Ġ" bar ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Not Complete () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert No Errors () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Values ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠChild Add Event . create ( snapshot , Ġ" foo "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠChild Add Event . create ( snapshot , Ġ" bar ")) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdispose () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild EventListener . last Value . on Child Added ( snapshot , Ġ" baz ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġassert Ġno Ġmore Ġvalues Ġare Ġemitted ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Value Count ( 2 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdata Reference Flow able Child Events Changed () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsnapshot Ġ= Ġmock < Data Snapshot >() ĊĊĠĠĠĠĠĠĠ Ġwith ( Test Subscriber < Child Event >()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR xF ire base Database . child Events ( database Reference , ĠBack pressure Strategy . BUFFER ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġverify Ġadd Child EventListener () Ġhas Ġcalled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase Reference . verify AddChild EventListener Called () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild EventListener . last Value . on Child Changed ( snapshot , Ġ" foo ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild EventListener . last Value . on Child Changed ( snapshot , Ġ" bar ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Not Complete () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert No Errors () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Values ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠChild ChangeEvent . create ( snapshot , Ġ" foo "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠChild ChangeEvent . create ( snapshot , Ġ" bar ")) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdispose () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild EventListener . last Value . on Child Changed ( snapshot , Ġ" baz ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġassert Ġno Ġmore Ġvalues Ġare Ġemitted ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Value Count ( 2 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdata Reference Observable Child Events Changed () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsnapshot Ġ= Ġmock < Data Snapshot >() ĊĊĠĠĠĠĠĠĠ Ġwith ( Test Observer < Child Event >()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR xF ire base Database . child Events ( database Reference ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġverify Ġadd Child EventListener () Ġhas Ġcalled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase Reference . verify AddChild EventListener Called () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild EventListener . last Value . on Child Changed ( snapshot , Ġ" foo ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild EventListener . last Value . on Child Changed ( snapshot , Ġ" bar ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Not Complete () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert No Errors () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Values ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠChild ChangeEvent . create ( snapshot , Ġ" foo "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠChild ChangeEvent . create ( snapshot , Ġ" bar ")) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdispose () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild EventListener . last Value . on Child Changed ( snapshot , Ġ" baz ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġassert Ġno Ġmore Ġvalues Ġare Ġemitted ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Value Count ( 2 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdata Reference Flow able Child Events Removed () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsnapshot Ġ= Ġmock < Data Snapshot >() ĊĊĠĠĠĠĠĠĠ Ġwith ( Test Subscriber < Child Event >()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR xF ire base Database . child Events ( database Reference , ĠBack pressure Strategy . BUFFER ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġverify Ġadd Child EventListener () Ġhas Ġcalled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase Reference . verify AddChild EventListener Called () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild EventListener . last Value . on Child Removed ( snapshot ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild EventListener . last Value . on Child Removed ( snapshot ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Not Complete () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert No Errors () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Values ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠChild Remove Event . create ( snapshot ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠChild Remove Event . create ( snapshot )) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdispose () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild EventListener . last Value . on Child Removed ( snapshot ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġassert Ġno Ġmore Ġvalues Ġare Ġemitted ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Value Count ( 2 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdata Reference Observable Child Events Removed () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsnapshot Ġ= Ġmock < Data Snapshot >() ĊĊĠĠĠĠĠĠĠ Ġwith ( Test Observer < Child Event >()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR xF ire base Database . child Events ( database Reference ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġverify Ġadd Child EventListener () Ġhas Ġcalled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase Reference . verify AddChild EventListener Called () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild EventListener . last Value . on Child Removed ( snapshot ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild EventListener . last Value . on Child Removed ( snapshot ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Not Complete () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert No Errors () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Values ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠChild Remove Event . create ( snapshot ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠChild Remove Event . create ( snapshot )) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdispose () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild EventListener . last Value . on Child Removed ( snapshot ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġassert Ġno Ġmore Ġvalues Ġare Ġemitted ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Value Count ( 2 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdata Reference Flow able Child Events Moved () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsnapshot Ġ= Ġmock < Data Snapshot >() ĊĊĠĠĠĠĠĠĠ Ġwith ( Test Subscriber < Child Event >()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR xF ire base Database . child Events ( database Reference , ĠBack pressure Strategy . BUFFER ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġverify Ġadd Child EventListener () Ġhas Ġcalled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase Reference . verify AddChild EventListener Called () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild EventListener . last Value . on Child Moved ( snapshot , Ġ" foo ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild EventListener . last Value . on Child Moved ( snapshot , Ġ" bar ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Not Complete () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert No Errors () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Values ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠChild Move Event . create ( snapshot , Ġ" foo "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠChild Move Event . create ( snapshot , Ġ" bar ")) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdispose () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild EventListener . last Value . on Child Moved ( snapshot , Ġ" baz ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġassert Ġno Ġmore Ġvalues Ġare Ġemitted ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Value Count ( 2 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdata Reference Observable Child Events Moved () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsnapshot Ġ= Ġmock < Data Snapshot >() ĊĊĠĠĠĠĠĠĠ Ġwith ( Test Observer < Child Event >()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR xF ire base Database . child Events ( database Reference ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġverify Ġadd Child EventListener () Ġhas Ġcalled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase Reference . verify AddChild EventListener Called () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild EventListener . last Value . on Child Moved ( snapshot , Ġ" foo ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild EventListener . last Value . on Child Moved ( snapshot , Ġ" bar ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Not Complete () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert No Errors () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Values ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠChild Move Event . create ( snapshot , Ġ" foo "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠChild Move Event . create ( snapshot , Ġ" bar ")) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdispose () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild EventListener . last Value . on Child Moved ( snapshot , Ġ" baz ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġassert Ġno Ġmore Ġvalues Ġare Ġemitted ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Value Count ( 2 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdata Reference Flow able Child Events Cancelled () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġerror Ġ= Ġdatabase Error () ĊĊĠĠĠĠĠĠĠ Ġwith ( Test Subscriber < Child Event >()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR xF ire base Database . child Events ( database Reference , ĠBack pressure Strategy . BUFFER ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġverify Ġadd Child EventListener () Ġhas Ġcalled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase Reference . verify AddChild EventListener Called () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild EventListener . last Value . on Cancelled ( error ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Error ( Database Exception :: class . java ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdispose () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdata Reference Observable Child Events Cancelled () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġerror Ġ= Ġdatabase Error () ĊĊĠĠĠĠĠĠĠ Ġwith ( Test Observer < Child Event >()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR xF ire base Database . child Events ( database Reference ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġverify Ġadd Child EventListener () Ġhas Ġcalled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase Reference . verify AddChild EventListener Called () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild EventListener . last Value . on Cancelled ( error ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Error ( Database Exception :: class . java ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdispose () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdata Reference Data () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsnapshot Ġ= Ġdata Snapshot (" foo ") ĊĊĠĠĠĠĠĠĠ Ġwith ( Test Observer . create < Data Snapshot >()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR xF ire base Database . data ( database Reference ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġverify Ġadd Listener For Single Value Event () Ġhas Ġcalled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase Reference . verify Add Listener For Single Value Event () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue EventListener . last Value . on Data Change ( snapshot ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Value Ġ{ Ġ" foo " Ġ== Ġit . value Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdispose () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdata Reference Data Cancelled () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġerror Ġ= Ġdatabase Error () ĊĊĠĠĠĠĠĠĠ Ġwith ( Test Observer . create < Data Snapshot >()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR xF ire base Database . data ( database Reference ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġverify Ġadd Value For Single Value Event () Ġhas Ġcalled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase Reference . verify Add Listener For Single Value Event () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue EventListener . last Value . on Cancelled ( error ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Error ( Database Exception :: class . java ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdispose () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdata Reference Flow able Data Changes () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsnapshot 1 Ġ= Ġdata Snapshot (" foo ") ĊĠĠĠĠĠĠĠ Ġval Ġsnapshot 2 Ġ= Ġdata Snapshot (" bar ") ĊĊĠĠĠĠĠĠĠ Ġwith ( Test Subscriber . create < Data Snapshot >()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR xF ire base Database . data Changes ( database Reference , ĠBack pressure Strategy . BUFFER ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġverify Ġadd Value EventListener () Ġhas Ġcalled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase Reference . verify Add Value EventListener Called () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue EventListener . last Value . on Data Change ( snapshot 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue EventListener . last Value . on Data Change ( snapshot 2 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert No Errors () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Not Complete () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Value At ( 0 ) Ġ{ Ġ" foo " Ġ== Ġit . value Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Value At ( 1 ) Ġ{ Ġ" bar " Ġ== Ġit . value Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdispose () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue EventListener . last Value . on Data Change ( snapshot 1 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġassert Ġno Ġmore Ġvalues ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Value Count ( 2 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdata Reference Observable Data Changes () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsnapshot 1 Ġ= Ġdata Snapshot (" foo ") ĊĠĠĠĠĠĠĠ Ġval Ġsnapshot 2 Ġ= Ġdata Snapshot (" bar ") ĊĊĠĠĠĠĠĠĠ Ġwith ( Test Observer . create < Data Snapshot >()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR xF ire base Database . data Changes ( database Reference ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġverify Ġadd Value EventListener () Ġhas Ġcalled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase Reference . verify Add Value EventListener Called () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue EventListener . last Value . on Data Change ( snapshot 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue EventListener . last Value . on Data Change ( snapshot 2 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert No Errors () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Not Complete () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Value At ( 0 ) Ġ{ Ġ" foo " Ġ== Ġit . value Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Value At ( 1 ) Ġ{ Ġ" bar " Ġ== Ġit . value Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdispose () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue EventListener . last Value . on Data Change ( snapshot 1 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġassert Ġno Ġmore Ġvalues ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Value Count ( 2 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdata Reference Flow able Data Changes Cancelled () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġerror Ġ= Ġdatabase Error () ĊĊĠĠĠĠĠĠĠ Ġwith ( Test Subscriber . create < Data Snapshot >()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR xF ire base Database . data Changes ( database Reference , ĠBack pressure Strategy . BUFFER ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġverify Ġadd Value EventListener () Ġhas Ġcalled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase Reference . verify Add Value EventListener Called () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue EventListener . last Value . on Cancelled ( error ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Error ( Database Exception :: class . java ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdispose () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue EventListener . last Value . on Cancelled ( error ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġassert Ġno Ġmore Ġvalues ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( error Count ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo ( 1 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdata Reference Observable Data Changes Cancelled () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġerror Ġ= Ġdatabase Error () ĊĊĠĠĠĠĠĠĠ Ġwith ( Test Observer . create < Data Snapshot >()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR xF ire base Database . data Changes ( database Reference ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġverify Ġadd Value EventListener () Ġhas Ġcalled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase Reference . verify Add Value EventListener Called () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue EventListener . last Value . on Cancelled ( error ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Error ( Database Exception :: class . java ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdispose () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue EventListener . last Value . on Cancelled ( error ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġassert Ġno Ġmore Ġvalues ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( error Count ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo ( 1 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdata Reference Flow able Data Changes Of Clazz () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsnapshot Ġ= Ġdata Snapshot Of Clazz (" foo ") ĊĊĠĠĠĠĠĠĠ Ġwith ( Test Subscriber . create < Data Value < String >> ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR xF ire base Database . data Changes Of ( database Reference , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠString :: class . java , ĠBack pressure Strategy . BUFFER ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġverify Ġadd Value EventListener () Ġhas Ġcalled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase Reference . verify Add Value EventListener Called () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue EventListener . last Value . on Data Change ( snapshot ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert No Errors () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Not Complete () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Value At ( 0 ) Ġ{ Ġ" foo " Ġ== Ġit . value () Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdispose () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue EventListener . last Value . on Data Change ( snapshot ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġassert Ġno Ġmore Ġvalues ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Value Count ( 1 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdata Reference Observable Data Changes Of Clazz () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsnapshot Ġ= Ġdata Snapshot Of Clazz (" foo ") ĊĊĠĠĠĠĠĠĠ Ġwith ( Test Observer . create < Data Value < String >> ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR xF ire base Database . data Changes Of ( database Reference , ĠString :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġverify Ġadd Value EventListener () Ġhas Ġcalled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase Reference . verify Add Value EventListener Called () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue EventListener . last Value . on Data Change ( snapshot ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert No Errors () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Not Complete () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Value At ( 0 ) Ġ{ Ġ" foo " Ġ== Ġit . value () Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdispose () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue EventListener . last Value . on Data Change ( snapshot ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġassert Ġno Ġmore Ġvalues ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Value Count ( 1 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdata Reference Flow able Data Changes OfType Indicator () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġti Ġ= Ġmock < GenericType Indicator < List < String >> >() ĊĠĠĠĠĠĠĠ Ġval Ġsnapshot Ġ= Ġdata Snapshot OfType Indicator ( listOf (" foo ", Ġ" bar "), Ġti ) ĊĊĠĠĠĠĠĠĠ Ġwith ( Test Subscriber . create < Data Value < List < String >>> ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR xF ire base Database . data Changes Of ( database Reference , Ġti , ĠBack pressure Strategy . BUFFER ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġverify Ġadd Value EventListener () Ġhas Ġcalled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase Reference . verify Add Value EventListener Called () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue EventListener . last Value . on Data Change ( snapshot ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert No Errors () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Not Complete () ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( values ()[ 0 ]. value ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. contains Exactly (" foo ", Ġ" bar ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdispose () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue EventListener . last Value . on Data Change ( snapshot ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġassert Ġno Ġmore Ġvalues ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Value Count ( 1 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdata Reference Observable Data Changes OfType Indicator () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġti Ġ= Ġmock < GenericType Indicator < List < String >> >() ĊĠĠĠĠĠĠĠ Ġval Ġsnapshot Ġ= Ġdata Snapshot OfType Indicator ( listOf (" foo ", Ġ" bar "), Ġti ) ĊĊĠĠĠĠĠĠĠ Ġwith ( Test Observer . create < Data Value < List < String >>> ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR xF ire base Database . data Changes Of ( database Reference , Ġti ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġverify Ġadd Value EventListener () Ġhas Ġcalled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase Reference . verify Add Value EventListener Called () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue EventListener . last Value . on Data Change ( snapshot ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert No Errors () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Not Complete () ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( values ()[ 0 ]. value ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. contains Exactly (" foo ", Ġ" bar ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdispose () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue EventListener . last Value . on Data Change ( snapshot ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġassert Ġno Ġmore Ġvalues ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Value Count ( 1 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdata Reference Data Of Clazz () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsnapshot Ġ= Ġdata Snapshot Of Clazz (" foo ") ĊĊĠĠĠĠĠĠĠ Ġwith ( Test Observer . create < String >()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR xF ire base Database . data Of ( database Reference , ĠString :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġverify Ġadd Listener For Single Value Event () Ġhas Ġcalled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase Reference . verify Add Listener For Single Value Event () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue EventListener . last Value . on Data Change ( snapshot ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Value Ġ{ Ġ" foo " Ġ== Ġit Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdispose () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdata Reference Data Of GenericType Indicator () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġti Ġ= ĠGeneric Type Indicator < List < String >>() ĊĠĠĠĠĠĠĠ Ġval Ġsnapshot Ġ= Ġdata Snapshot OfType Indicator ( listOf (" foo ", Ġ" bar "), Ġti ) ĊĊĠĠĠĠĠĠĠ Ġwith ( Test Observer . create < List < String >> ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR xF ire base Database . data Of ( database Reference , Ġti ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġverify Ġadd Listener For Single Value Event () Ġhas Ġcalled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase Reference . verify Add Listener For Single Value Event () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue EventListener . last Value . on Data Change ( snapshot ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Value Count ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( values ()[ 0 ]) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. contains Exactly (" foo ", Ġ" bar ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdispose () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdata Reference Remove Value () Ġ{ ĊĠĠĠĠĠĠĠ Ġwith ( Test Observer . create < Any >()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR xF ire base Database . remove Value ( database Reference ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġverify Ġremove Value () Ġhas Ġcalled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( database Reference , Ġtimes ( 1 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. remove Value ( completion Listener . capture ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcompletion Listener . last Value . onComplete ( null , Ġdatabase Reference ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert No Errors () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Complete () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdispose () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdata Reference Remove Value Not Successful () Ġ{ ĊĠĠĠĠĠĠĠ Ġwith ( Test Observer . create < Any >()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR xF ire base Database . remove Value ( database Reference ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġverify Ġremove Value () Ġhas Ġcalled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( database Reference , Ġtimes ( 1 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. remove Value ( completion Listener . capture ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcompletion Listener . last Value . onComplete ( database Error (), Ġdatabase Reference ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Error ( Database Exception :: class . java ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdispose () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdata Reference Set Priority () Ġ{ ĊĠĠĠĠĠĠĠ Ġwith ( Test Observer . create < Any >()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR xF ire base Database . set Priority ( database Reference , Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġverify Ġset Priority () Ġhas Ġcalled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( database Reference , Ġtimes ( 1 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Priority ( eq ( 1 ), Ġcompletion Listener . capture ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcompletion Listener . last Value . onComplete ( null , Ġdatabase Reference ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert No Errors () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Complete () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdispose () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdata Reference Set Priority Not Successful () Ġ{ ĊĠĠĠĠĠĠĠ Ġwith ( Test Observer . create < Any >()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR xF ire base Database . set Priority ( database Reference , Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġverify Ġset Priority () Ġhas Ġcalled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( database Reference , Ġtimes ( 1 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Priority ( eq ( 1 ), Ġcompletion Listener . capture ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcompletion Listener . last Value . onComplete ( database Error (), Ġdatabase Reference ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Error ( Database Exception :: class . java ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdispose () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdata Reference SetValue () Ġ{ ĊĠĠĠĠĠĠĠ Ġwith ( Test Observer . create < Any >()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR xF ire base Database . setValue ( database Reference , Ġ 1 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġverify ĠsetValue () Ġhas Ġcalled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( database Reference , Ġtimes ( 1 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setValue ( eq ( 1 0 0 ), Ġcompletion Listener . capture ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcompletion Listener . last Value . onComplete ( null , Ġdatabase Reference ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert No Errors () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Complete () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdispose () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdata Reference SetValue Not Successful () Ġ{ ĊĠĠĠĠĠĠĠ Ġwith ( Test Observer . create < Any >()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR xF ire base Database . setValue ( database Reference , Ġ 1 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġverify ĠsetValue () Ġhas Ġcalled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( database Reference , Ġtimes ( 1 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setValue ( eq ( 1 0 0 ), Ġcompletion Listener . capture ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcompletion Listener . last Value . onComplete ( database Error (), Ġdatabase Reference ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Error ( Database Exception :: class . java ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdispose () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdata Reference SetValue With Priority () Ġ{ ĊĠĠĠĠĠĠĠ Ġwith ( Test Observer . create < Any >()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR xF ire base Database . setValue ( database Reference , Ġ 1 0 0 , Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġverify ĠsetValue () Ġhas Ġcalled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( database Reference , Ġtimes ( 1 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setValue ( eq ( 1 0 0 ), Ġeq ( 1 ), Ġcompletion Listener . capture ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcompletion Listener . last Value . onComplete ( null , Ġdatabase Reference ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert No Errors () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Complete () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdispose () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdata Reference SetValue With Priority Not Successful () Ġ{ ĊĠĠĠĠĠĠĠ Ġwith ( Test Observer . create < Any >()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR xF ire base Database . setValue ( database Reference , Ġ 1 0 0 , Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġverify ĠsetValue () Ġhas Ġcalled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( database Reference , Ġtimes ( 1 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setValue ( eq ( 1 0 0 ), Ġeq ( 1 ), Ġcompletion Listener . capture ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcompletion Listener . last Value . onComplete ( database Error (), Ġdatabase Reference ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Error ( Database Exception :: class . java ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdispose () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdata Reference Update Children () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġupdate Ġ= Ġmock < Map < String , ĠAny >>() ĊĊĠĠĠĠĠĠĠ Ġwith ( Test Observer . create < Any >()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR xF ire base Database . update Children ( database Reference , Ġupdate ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġverify Ġupdate Children () Ġhas Ġcalled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( database Reference , Ġtimes ( 1 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. update Children ( eq ( update ), Ġcompletion Listener . capture ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcompletion Listener . last Value . onComplete ( null , Ġdatabase Reference ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert No Errors () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Complete () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdispose () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdata Reference Update Children Not Successful () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġupdate Ġ= Ġmock < Map < String , ĠAny >>() ĊĊĠĠĠĠĠĠĠ Ġwith ( Test Observer . create < Any >()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR xF ire base Database . update Children ( database Reference , Ġupdate ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġverify Ġupdate Children () Ġhas Ġcalled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( database Reference , Ġtimes ( 1 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. update Children ( eq ( update ), Ġcompletion Listener . capture ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcompletion Listener . last Value . onComplete ( database Error (), Ġdatabase Reference ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Error ( Database Exception :: class . java ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdispose () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdata Reference Run Transaction () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsnapshot Ġ= Ġdata Snapshot (" foo ") ĊĠĠĠĠĠĠĠ Ġval Ġtask Ġ= Ġmock < io . reactivex . functions . Function < Mutable Data , ĠTransaction . Result >>() ĊĊĠĠĠĠĠĠĠ Ġwith ( Test Observer . create < Any >()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR xF ire base Database . run Transaction ( database Reference , Ġtask ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġverify Ġrun Transaction () Ġhas Ġcalled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( database Reference , Ġtimes ( 1 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. run Transaction ( transaction Handler . capture (), Ġeq ( true )) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtransaction Handler . last Value . do Transaction ( mock ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtransaction Handler . last Value . onComplete ( null , Ġtrue , Ġsnapshot ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert No Errors () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Complete () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdispose () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdata Reference Run Transaction Not Successful () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsnapshot Ġ= Ġdata Snapshot (" foo ") ĊĠĠĠĠĠĠĠ Ġval Ġtask Ġ= Ġmock < io . reactivex . functions . Function < Mutable Data , ĠTransaction . Result >>() ĊĊĠĠĠĠĠĠĠ Ġwith ( Test Observer . create < Any >()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR xF ire base Database . run Transaction ( database Reference , Ġtask ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġverify Ġrun Transaction () Ġhas Ġcalled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( database Reference , Ġtimes ( 1 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. run Transaction ( transaction Handler . capture (), Ġeq ( true )) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtransaction Handler . last Value . onComplete ( database Error (), Ġtrue , Ġsnapshot ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Error ( Database Exception :: class . java ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdispose () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠBind ings Ġfor ĠQuery ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġquery Flow able Child Events Added () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsnapshot Ġ= Ġmock < Data Snapshot >() ĊĊĠĠĠĠĠĠĠ Ġwith ( Test Subscriber . create < Child Event >()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR xF ire base Database . child Events ( query , ĠBack pressure Strategy . BUFFER ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġverify Ġadd Child EventListener () Ġhas Ġcalled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġquery . verify AddChild EventListener Called () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild EventListener . last Value . on Child Added ( snapshot , Ġ" foo ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild EventListener . last Value . on Child Added ( snapshot , Ġ" bar ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Not Complete () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert No Errors () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Values ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠChild Add Event . create ( snapshot , Ġ" foo "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠChild Add Event . create ( snapshot , Ġ" bar ")) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdispose () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild EventListener . last Value . on Child Added ( snapshot , Ġ" baz ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġassert Ġno Ġmore Ġvalues Ġare Ġemitted ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Value Count ( 2 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġquery Observable Child Events Added () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsnapshot Ġ= Ġmock < Data Snapshot >() ĊĊĠĠĠĠĠĠĠ Ġwith ( Test Observer . create < Child Event >()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR xF ire base Database . child Events ( query ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġverify Ġadd Child EventListener () Ġhas Ġcalled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġquery . verify AddChild EventListener Called () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild EventListener . last Value . on Child Added ( snapshot , Ġ" foo ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild EventListener . last Value . on Child Added ( snapshot , Ġ" bar ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Not Complete () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert No Errors () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Values ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠChild Add Event . create ( snapshot , Ġ" foo "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠChild Add Event . create ( snapshot , Ġ" bar ")) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdispose () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild EventListener . last Value . on Child Added ( snapshot , Ġ" baz ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġassert Ġno Ġmore Ġvalues Ġare Ġemitted ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Value Count ( 2 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġquery Flow able Child Events Changed () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsnapshot Ġ= Ġmock < Data Snapshot >() ĊĊĠĠĠĠĠĠĠ Ġwith ( Test Subscriber < Child Event >()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR xF ire base Database . child Events ( query , ĠBack pressure Strategy . BUFFER ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġverify Ġadd Child EventListener () Ġhas Ġcalled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġquery . verify AddChild EventListener Called () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild EventListener . last Value . on Child Changed ( snapshot , Ġ" foo ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild EventListener . last Value . on Child Changed ( snapshot , Ġ" bar ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Not Complete () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert No Errors () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Values ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠChild ChangeEvent . create ( snapshot , Ġ" foo "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠChild ChangeEvent . create ( snapshot , Ġ" bar ")) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdispose () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild EventListener . last Value . on Child Changed ( snapshot , Ġ" baz ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġassert Ġno Ġmore Ġvalues Ġare Ġemitted ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Value Count ( 2 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġquery Observable Child Events Changed () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsnapshot Ġ= Ġmock < Data Snapshot >() ĊĊĠĠĠĠĠĠĠ Ġwith ( Test Observer < Child Event >()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR xF ire base Database . child Events ( query ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġverify Ġadd Child EventListener () Ġhas Ġcalled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġquery . verify AddChild EventListener Called () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild EventListener . last Value . on Child Changed ( snapshot , Ġ" foo ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild EventListener . last Value . on Child Changed ( snapshot , Ġ" bar ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Not Complete () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert No Errors () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Values ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠChild ChangeEvent . create ( snapshot , Ġ" foo "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠChild ChangeEvent . create ( snapshot , Ġ" bar ")) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdispose () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild EventListener . last Value . on Child Changed ( snapshot , Ġ" baz ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġassert Ġno Ġmore Ġvalues Ġare Ġemitted ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Value Count ( 2 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġquery Flow able Child Events Removed () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsnapshot Ġ= Ġmock < Data Snapshot >() ĊĊĠĠĠĠĠĠĠ Ġwith ( Test Subscriber < Child Event >()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR xF ire base Database . child Events ( query , ĠBack pressure Strategy . BUFFER ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġverify Ġadd Child EventListener () Ġhas Ġcalled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġquery . verify AddChild EventListener Called () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild EventListener . last Value . on Child Removed ( snapshot ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild EventListener . last Value . on Child Removed ( snapshot ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Not Complete () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert No Errors () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Values ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠChild Remove Event . create ( snapshot ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠChild Remove Event . create ( snapshot )) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdispose () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild EventListener . last Value . on Child Removed ( snapshot ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġassert Ġno Ġmore Ġvalues Ġare Ġemitted ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Value Count ( 2 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġquery Observable Child Events Removed () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsnapshot Ġ= Ġmock < Data Snapshot >() ĊĊĠĠĠĠĠĠĠ Ġwith ( Test Observer < Child Event >()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR xF ire base Database . child Events ( query ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġverify Ġadd Child EventListener () Ġhas Ġcalled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġquery . verify AddChild EventListener Called () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild EventListener . last Value . on Child Removed ( snapshot ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild EventListener . last Value . on Child Removed ( snapshot ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Not Complete () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert No Errors () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Values ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠChild Remove Event . create ( snapshot ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠChild Remove Event . create ( snapshot )) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdispose () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild EventListener . last Value . on Child Removed ( snapshot ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġassert Ġno Ġmore Ġvalues Ġare Ġemitted ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Value Count ( 2 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġquery Flow able Child Events Moved () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsnapshot Ġ= Ġmock < Data Snapshot >() ĊĊĠĠĠĠĠĠĠ Ġwith ( Test Subscriber < Child Event >()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR xF ire base Database . child Events ( query , ĠBack pressure Strategy . BUFFER ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġverify Ġadd Child EventListener () Ġhas Ġcalled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġquery . verify AddChild EventListener Called () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild EventListener . last Value . on Child Moved ( snapshot , Ġ" foo ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild EventListener . last Value . on Child Moved ( snapshot , Ġ" bar ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Not Complete () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert No Errors () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Values ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠChild Move Event . create ( snapshot , Ġ" foo "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠChild Move Event . create ( snapshot , Ġ" bar ")) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdispose () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild EventListener . last Value . on Child Moved ( snapshot , Ġ" baz ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġassert Ġno Ġmore Ġvalues Ġare Ġemitted ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Value Count ( 2 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġquery Observable Child Events Moved () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsnapshot Ġ= Ġmock < Data Snapshot >() ĊĊĠĠĠĠĠĠĠ Ġwith ( Test Observer < Child Event >()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR xF ire base Database . child Events ( query ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġverify Ġadd Child EventListener () Ġhas Ġcalled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġquery . verify AddChild EventListener Called () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild EventListener . last Value . on Child Moved ( snapshot , Ġ" foo ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild EventListener . last Value . on Child Moved ( snapshot , Ġ" bar ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Not Complete () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert No Errors () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Values ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠChild Move Event . create ( snapshot , Ġ" foo "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠChild Move Event . create ( snapshot , Ġ" bar ")) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdispose () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild EventListener . last Value . on Child Moved ( snapshot , Ġ" baz ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġassert Ġno Ġmore Ġvalues Ġare Ġemitted ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Value Count ( 2 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġquery Flow able Child Events Cancelled () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġerror Ġ= Ġdatabase Error () ĊĊĠĠĠĠĠĠĠ Ġwith ( Test Subscriber < Child Event >()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR xF ire base Database . child Events ( query , ĠBack pressure Strategy . BUFFER ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġverify Ġadd Child EventListener () Ġhas Ġcalled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġquery . verify AddChild EventListener Called () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild EventListener . last Value . on Cancelled ( error ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Error ( Database Exception :: class . java ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdispose () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġquery Observable Child Events Cancelled () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġerror Ġ= Ġdatabase Error () ĊĊĠĠĠĠĠĠĠ Ġwith ( Test Observer < Child Event >()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR xF ire base Database . child Events ( query ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġverify Ġadd Child EventListener () Ġhas Ġcalled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġquery . verify AddChild EventListener Called () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild EventListener . last Value . on Cancelled ( error ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Error ( Database Exception :: class . java ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdispose () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġquery Data () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsnapshot Ġ= Ġmock < Data Snapshot >(). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhenever ( value ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. thenReturn (" foo ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġwith ( Test Observer . create < Data Snapshot >()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR xF ire base Database . data ( query ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġverify Ġadd Listener For Single Value Event () Ġhas Ġcalled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġquery . verify Add Listener For Single Value Event () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue EventListener . last Value . on Data Change ( snapshot ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Value Ġ{ Ġ" foo " Ġ== Ġit . value Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdispose () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġquery Data Cancelled () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġerror Ġ= Ġdatabase Error () ĊĊĠĠĠĠĠĠĠ Ġwith ( Test Observer . create < Data Snapshot >()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR xF ire base Database . data ( query ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġverify Ġadd Listener For Single Value Event () Ġhas Ġcalled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġquery . verify Add Listener For Single Value Event () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue EventListener . last Value . on Cancelled ( error ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Error ( Database Exception :: class . java ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdispose () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġquery Flow able Data Changes () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsnapshot 1 Ġ= Ġdata Snapshot (" foo ") ĊĠĠĠĠĠĠĠ Ġval Ġsnapshot 2 Ġ= Ġdata Snapshot (" bar ") ĊĊĠĠĠĠĠĠĠ Ġwith ( Test Subscriber . create < Data Snapshot >()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR xF ire base Database . data Changes ( query , ĠBack pressure Strategy . BUFFER ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġverify Ġadd Value EventListener () Ġhas Ġcalled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġquery . verify Add Value EventListener Called () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue EventListener . last Value . on Data Change ( snapshot 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue EventListener . last Value . on Data Change ( snapshot 2 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert No Errors () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Not Complete () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Value At ( 0 ) Ġ{ Ġ" foo " Ġ== Ġit . value Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Value At ( 1 ) Ġ{ Ġ" bar " Ġ== Ġit . value Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdispose () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue EventListener . last Value . on Data Change ( snapshot 1 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġassert Ġno Ġmore Ġvalues ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Value Count ( 2 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġquery Observable Data Changes () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsnapshot 1 Ġ= Ġdata Snapshot (" foo ") ĊĠĠĠĠĠĠĠ Ġval Ġsnapshot 2 Ġ= Ġdata Snapshot (" bar ") ĊĊĠĠĠĠĠĠĠ Ġwith ( Test Observer . create < Data Snapshot >()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR xF ire base Database . data Changes ( query ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġverify Ġadd Value EventListener () Ġhas Ġcalled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġquery . verify Add Value EventListener Called () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue EventListener . last Value . on Data Change ( snapshot 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue EventListener . last Value . on Data Change ( snapshot 2 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert No Errors () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Not Complete () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Value At ( 0 ) Ġ{ Ġ" foo " Ġ== Ġit . value Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Value At ( 1 ) Ġ{ Ġ" bar " Ġ== Ġit . value Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdispose () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue EventListener . last Value . on Data Change ( snapshot 1 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġassert Ġno Ġmore Ġvalues ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Value Count ( 2 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġquery Flow able Data Changes Cancelled () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġerror Ġ= Ġdatabase Error () ĊĊĠĠĠĠĠĠĠ Ġwith ( Test Subscriber . create < Data Snapshot >()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR xF ire base Database . data Changes ( query , ĠBack pressure Strategy . BUFFER ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġverify Ġadd Value EventListener () Ġhas Ġcalled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġquery . verify Add Value EventListener Called () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue EventListener . last Value . on Cancelled ( error ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Error ( Database Exception :: class . java ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdispose () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue EventListener . last Value . on Cancelled ( error ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġassert Ġno Ġmore Ġvalues ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( error Count ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo ( 1 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġquery Observable Data Changes Cancelled () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġerror Ġ= Ġdatabase Error () ĊĊĠĠĠĠĠĠĠ Ġwith ( Test Observer . create < Data Snapshot >()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR xF ire base Database . data Changes ( query ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġverify Ġadd Value EventListener () Ġhas Ġcalled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġquery . verify Add Value EventListener Called () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue EventListener . last Value . on Cancelled ( error ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Error ( Database Exception :: class . java ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdispose () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue EventListener . last Value . on Cancelled ( error ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġassert Ġno Ġmore Ġvalues ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( error Count ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo ( 1 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġquery Flow able Data Changes Of Clazz () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsnapshot Ġ= Ġdata Snapshot Of Clazz (" foo ") ĊĊĠĠĠĠĠĠĠ Ġwith ( Test Subscriber . create < Data Value < String >> ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR xF ire base Database . data Changes Of ( query , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠString :: class . java , ĠBack pressure Strategy . BUFFER ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġverify Ġadd Value EventListener () Ġhas Ġcalled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġquery . verify Add Value EventListener Called () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue EventListener . last Value . on Data Change ( snapshot ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert No Errors () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Not Complete () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Value At ( 0 ) Ġ{ Ġ" foo " Ġ== Ġit . value () Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdispose () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue EventListener . last Value . on Data Change ( snapshot ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġassert Ġno Ġmore Ġvalues ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Value Count ( 1 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġquery Observable Data Changes Of Clazz () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsnapshot Ġ= Ġdata Snapshot Of Clazz (" foo ") ĊĊĠĠĠĠĠĠĠ Ġwith ( Test Observer . create < Data Value < String >> ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR xF ire base Database . data Changes Of ( query , ĠString :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġverify Ġadd Value EventListener () Ġhas Ġcalled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġquery . verify Add Value EventListener Called () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue EventListener . last Value . on Data Change ( snapshot ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert No Errors () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Not Complete () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Value At ( 0 ) Ġ{ Ġ" foo " Ġ== Ġit . value () Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdispose () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue EventListener . last Value . on Data Change ( snapshot ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġassert Ġno Ġmore Ġvalues ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Value Count ( 1 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġquery Flow able Data Changes OfType Indicator () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġti Ġ= Ġmock < GenericType Indicator < List < String >> >() ĊĠĠĠĠĠĠĠ Ġval Ġsnapshot Ġ= Ġdata Snapshot OfType Indicator ( listOf (" foo ", Ġ" bar "), Ġti ) ĊĊĠĠĠĠĠĠĠ Ġwith ( Test Subscriber . create < Data Value < List < String >>> ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR xF ire base Database . data Changes Of ( query , Ġti , ĠBack pressure Strategy . BUFFER ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġverify Ġadd Value EventListener () Ġhas Ġcalled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġquery . verify Add Value EventListener Called () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue EventListener . last Value . on Data Change ( snapshot ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert No Errors () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Not Complete () ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( values ()[ 0 ]. value ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. contains Exactly (" foo ", Ġ" bar ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdispose () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue EventListener . last Value . on Data Change ( snapshot ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġassert Ġno Ġmore Ġvalues ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Value Count ( 1 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġquery Observable Data Changes OfType Indicator () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġti Ġ= Ġmock < GenericType Indicator < List < String >> >() ĊĠĠĠĠĠĠĠ Ġval Ġsnapshot Ġ= Ġdata Snapshot OfType Indicator ( listOf (" foo ", Ġ" bar "), Ġti ) ĊĊĠĠĠĠĠĠĠ Ġwith ( Test Observer . create < Data Value < List < String >>> ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR xF ire base Database . data Changes Of ( query , Ġti ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġverify Ġadd Value EventListener () Ġhas Ġcalled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġquery . verify Add Value EventListener Called () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue EventListener . last Value . on Data Change ( snapshot ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert No Errors () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Not Complete () ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( values ()[ 0 ]. value ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. contains Exactly (" foo ", Ġ" bar ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdispose () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue EventListener . last Value . on Data Change ( snapshot ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġassert Ġno Ġmore Ġvalues ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Value Count ( 1 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġquery Data Of Clazz () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsnapshot Ġ= Ġdata Snapshot Of Clazz (" foo ") ĊĊĠĠĠĠĠĠĠ Ġwith ( Test Observer . create < String >()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR xF ire base Database . data Of ( query , ĠString :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġverify Ġadd Listener For Single Value Event () Ġhas Ġcalled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġquery . verify Add Listener For Single Value Event () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue EventListener . last Value . on Data Change ( snapshot ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Value Ġ{ Ġ" foo " Ġ== Ġit Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdispose () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġquery Data Of GenericType Indicator () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġti Ġ= ĠGeneric Type Indicator < List < String >>() ĊĠĠĠĠĠĠĠ Ġval Ġsnapshot Ġ= Ġdata Snapshot OfType Indicator ( listOf (" foo ", Ġ" bar "), Ġti ) ĊĊĠĠĠĠĠĠĠ Ġwith ( Test Observer . create < List < String >> ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR xF ire base Database . data Of ( query , Ġti ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġverify Ġadd Listener For Single Value Event () Ġhas Ġcalled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġquery . verify Add Listener For Single Value Event () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsimulate Ġthe Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue EventListener . last Value . on Data Change ( snapshot ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Value Count ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( values ()[ 0 ]) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. contains Exactly (" foo ", Ġ" bar ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdispose () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġinline Ġfun ĠDatabase Reference . verify AddChild EventListener Called () Ġ{ ĊĠĠĠĠĠĠĠ Ġverify ( this , Ġtimes ( 1 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. addChild EventListener ( child EventListener . capture ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġinline Ġfun ĠDatabase Reference . verify Add Listener For Single Value Event () Ġ{ ĊĠĠĠĠĠĠĠ Ġverify ( this , Ġtimes ( 1 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. addListener For Single Value Event ( value EventListener . capture ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġinline Ġfun ĠDatabase Reference . verify Add Value EventListener Called () Ġ{ ĊĠĠĠĠĠĠĠ Ġverify ( this , Ġtimes ( 1 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Value EventListener ( value EventListener . capture ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġinline Ġfun ĠQuery . verify AddChild EventListener Called () Ġ{ ĊĠĠĠĠĠĠĠ Ġverify ( this , Ġtimes ( 1 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. addChild EventListener ( child EventListener . capture ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġinline Ġfun ĠQuery . verify Add Listener For Single Value Event () Ġ{ ĊĠĠĠĠĠĠĠ Ġverify ( this , Ġtimes ( 1 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. addListener For Single Value Event ( value EventListener . capture ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġinline Ġfun ĠQuery . verify Add Value EventListener Called () Ġ{ ĊĠĠĠĠĠĠĠ Ġverify ( this , Ġtimes ( 1 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Value EventListener ( value EventListener . capture ()) ĊĠĠĠ Ġ} Ċ }