package Ġcom . bad oo . tooltip s queue Ċ Ċ import Ġio . reactivex . ob servers . Test Observer Ċ import Ġorg . junit . Assert . assertArrayEquals Ċ import Ġorg . junit . Assert . assertEquals Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . runner . RunWith Ċ import Ġorg . ro bo lectric . Ro bo lectric Ċ import Ġorg . ro bo lectric . Ro bo lectric TestRunner Ċ import Ġorg . ro bo lectric . annotation . Config Ċ import Ġjava . util . concurrent . TimeUnit Ċ Ċ @ RunWith ( Ro bo lectric TestRunner :: class ) Ċ @ Config ( manifest Ġ= ĠConfig . NONE ) Ċ class ĠPriority Tooltip s Queue Test Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġqueue : ĠTool tips Queue Ġ= ĠPriority Tooltip s Queue () ĊĠĠĠ Ġprivate Ġval Ġall Tooltip s : ĠTest Observer < Tooltip > Ġ= ĠTest Observer () ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġqueue . on Show (). subscribe ( all Tooltip s ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġwhen No Tooltip s Added _ only One Posted () Ġ{ ĊĠĠĠĠĠĠĠ Ġqueue . start () ĊĊĠĠĠĠĠĠĠ Ġall Tooltip s . assert Value Count ( 1 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġwhen No Tooltip s Added _ only Empty Posted () Ġ{ ĊĠĠĠĠĠĠĠ Ġqueue . start () ĊĊĠĠĠĠĠĠĠ Ġall Tooltip s . assert Value At ( 0 ) Ġ{ Ġis Same Class ( Empty Tooltip , Ġit ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġwhen Low Tooltip Added _ low Tooltip After Empty Posted () Ġ{ ĊĠĠĠĠĠĠĠ Ġqueue . add ( Low Tooltip ()) ĊĠĠĠĠĠĠĠ Ġqueue . start () ĊĊĠĠĠĠĠĠĠ Ġall Tooltip s . assert Value At ( 1 ) Ġ{ Ġis Same Class ( Low Tooltip (), Ġit ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġwhen Remove Not Called _ only One After Empty Posted () Ġ{ ĊĠĠĠĠĠĠĠ Ġqueue . add ( Low Tooltip (), ĠMiddle Tooltip ()) ĊĠĠĠĠĠĠĠ Ġqueue . start () ĊĊĠĠĠĠĠĠĠ Ġall Tooltip s . assert Value Count ( 2 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġwhen Remove Called _ empty Tooltip Posted () Ġ{ ĊĠĠĠĠĠĠĠ Ġqueue . add ( Low Tooltip ()) ĊĠĠĠĠĠĠĠ Ġqueue . start () ĊĠĠĠĠĠĠĠ Ġqueue . remove () ĊĊĠĠĠĠĠĠĠ Ġall Tooltip s . assert Value At ( 2 ) Ġ{ Ġis Same Class ( Empty Tooltip , Ġit ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġwhen Remove Called And Queue Have Tooltip s _ after Empty Will Be Posted One More () Ġ{ ĊĠĠĠĠĠĠĠ Ġqueue . add ( Low Tooltip (), ĠMiddle Tooltip ()) ĊĠĠĠĠĠĠĠ Ġqueue . start () ĊĠĠĠĠĠĠĠ Ġqueue . remove () ĊĊĠĠĠĠĠĠĠ Ġall Tooltip s . assert Value Count ( 4 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġwhen Middle Added Later _ it Will Be Posted Before Low () Ġ{ ĊĠĠĠĠĠĠĠ Ġqueue . add ( Low Tooltip (), ĠMiddle Tooltip ()) ĊĠĠĠĠĠĠĠ Ġqueue . start () ĊĠĠĠĠĠĠĠ Ġqueue . remove () ĊĊĠĠĠĠĠĠĠ Ġall Tooltip s . assert Value At ( 1 ) Ġ{ Ġis Same Class ( it , ĠMiddle Tooltip ()) Ġ} ĊĠĠĠĠĠĠĠ Ġall Tooltip s . assert Value At ( 3 ) Ġ{ Ġis Same Class ( it , ĠLow Tooltip ()) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġwhen Middle Added E ar lier _ it Will Be Posted Before Low () Ġ{ ĊĠĠĠĠĠĠĠ Ġqueue . add ( Middle Tooltip (), ĠLow Tooltip ()) ĊĠĠĠĠĠĠĠ Ġqueue . start () ĊĠĠĠĠĠĠĠ Ġqueue . remove () ĊĊĠĠĠĠĠĠĠ Ġall Tooltip s . assert Value At ( 1 ) Ġ{ Ġis Same Class ( it , ĠMiddle Tooltip ()) Ġ} ĊĠĠĠĠĠĠĠ Ġall Tooltip s . assert Value At ( 3 ) Ġ{ Ġis Same Class ( it , ĠLow Tooltip ()) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġwhen Added Same Tooltip _ only One Will Be Posted () Ġ{ ĊĠĠĠĠĠĠĠ Ġqueue . add ( Low Tooltip (), ĠLow Tooltip ()) ĊĠĠĠĠĠĠĠ Ġqueue . start () ĊĊĠĠĠĠĠĠĠ Ġall Tooltip s . assert Value Count ( 2 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġwhen Added Same Tooltip During Showing _ it Will Not Be Posted () Ġ{ ĊĠĠĠĠĠĠĠ Ġqueue . add ( Low Tooltip ()) ĊĠĠĠĠĠĠĠ Ġqueue . start () ĊĠĠĠĠĠĠĠ Ġqueue . add ( Low Tooltip ()) ĊĊĠĠĠĠĠĠĠ Ġall Tooltip s . assert Value Count ( 2 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġwhen Added Same Tooltip After Hide _ it Will Be Posted () Ġ{ ĊĠĠĠĠĠĠĠ Ġqueue . add ( Low Tooltip ()) ĊĠĠĠĠĠĠĠ Ġqueue . start () ĊĠĠĠĠĠĠĠ Ġqueue . remove () ĊĠĠĠĠĠĠĠ Ġqueue . add ( Low Tooltip ()) ĊĊĠĠĠĠĠĠĠ Ġall Tooltip s . assert Value Count ( 4 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġwhen During Show Middle Added Low _ order IsNot Changed () Ġ{ ĊĠĠĠĠĠĠĠ Ġqueue . add ( Middle Tooltip ()) ĊĠĠĠĠĠĠĠ Ġqueue . start () ĊĠĠĠĠĠĠĠ Ġqueue . add ( Low Tooltip ()) ĊĊĠĠĠĠĠĠĠ Ġall Tooltip s . assert Value Count ( 2 ) ĊĠĠĠĠĠĠĠ Ġall Tooltip s . assert Value At ( 1 ) Ġ{ Ġis Same Class ( Middle Tooltip (), Ġit ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġwhen During Show Low Added Middle _ empty Will Be Posted () Ġ{ ĊĠĠĠĠĠĠĠ Ġqueue . add ( Low Tooltip ()) ĊĠĠĠĠĠĠĠ Ġqueue . start () ĊĠĠĠĠĠĠĠ Ġqueue . add ( Middle Tooltip ()) ĊĊĠĠĠĠĠĠĠ Ġall Tooltip s . assert Value Count ( 3 ) ĊĠĠĠĠĠĠĠ Ġall Tooltip s . assert Value At ( 2 ) Ġ{ Ġis Same Class ( Empty Tooltip , Ġit ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġwhen During Show Low Added Middle And Empty Processed _ middle Will Be Shown () Ġ{ ĊĠĠĠĠĠĠĠ Ġqueue . add ( Low Tooltip ()) ĊĠĠĠĠĠĠĠ Ġqueue . start () ĊĠĠĠĠĠĠĠ Ġqueue . add ( Middle Tooltip ()) ĊĠĠĠĠĠĠĠ Ġqueue . remove () ĊĊĠĠĠĠĠĠĠ Ġall Tooltip s . assert Value Count ( 4 ) ĊĠĠĠĠĠĠĠ Ġall Tooltip s . assert Value At ( 3 ) Ġ{ Ġis Same Class ( Middle Tooltip (), Ġit ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġwhen During Show Low Added Middle And Empty Processed _ low Will Be Shown One More Time () Ġ{ ĊĠĠĠĠĠĠĠ Ġqueue . add ( Low Tooltip ()) ĊĠĠĠĠĠĠĠ Ġqueue . start () ĊĠĠĠĠĠĠĠ Ġqueue . add ( Middle Tooltip ()) ĊĠĠĠĠĠĠĠ Ġqueue . remove () ĊĠĠĠĠĠĠĠ Ġqueue . remove () ĊĊĠĠĠĠĠĠĠ Ġall Tooltip s . assert Value Count ( 6 ) ĊĠĠĠĠĠĠĠ Ġall Tooltip s . assert Value At ( 5 ) Ġ{ Ġis Same Class ( Low Tooltip (), Ġit ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġafter Stop _ low Tooltip s Not Shown () Ġ{ ĊĠĠĠĠĠĠĠ Ġqueue . start () ĊĠĠĠĠĠĠĠ Ġqueue . stop () ĊĠĠĠĠĠĠĠ Ġqueue . add ( Low Tooltip ()) ĊĊĠĠĠĠĠĠĠ Ġall Tooltip s . values (). none Ġ{ Ġis Same Class ( Low Tooltip (), Ġit ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġafter Stop _ empty Will Be Posted () Ġ{ ĊĠĠĠĠĠĠĠ Ġqueue . start () ĊĠĠĠĠĠĠĠ Ġqueue . add ( Low Tooltip ()) ĊĠĠĠĠĠĠĠ Ġqueue . stop () ĊĊĠĠĠĠĠĠĠ Ġall Tooltip s . assert Value Count ( 3 ) ĊĠĠĠĠĠĠĠ Ġall Tooltip s . assert Value At ( 2 ) Ġ{ Ġis Same Class ( Empty Tooltip , Ġit ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġwhen Removing From Middle _ will Not Be Shown () Ġ{ ĊĠĠĠĠĠĠĠ Ġqueue . add ( Middle Tooltip (), ĠLow Tooltip ()) ĊĠĠĠĠĠĠĠ Ġqueue . remove ( Low Tooltip :: class . java ) ĊĠĠĠĠĠĠĠ Ġqueue . start () ĊĠĠĠĠĠĠĠ Ġqueue . remove () ĊĊĠĠĠĠĠĠĠ Ġall Tooltip s . assert Never Ġ{ Ġis Same Class ( Low Tooltip (), Ġit ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġwhen On Back Pressed With Empty Tooltip _ false Will Return () Ġ{ ĊĠĠĠĠĠĠĠ Ġqueue . start () ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( false , Ġqueue . on Back Pressed ()) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġall Tooltip s . value Count ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġwhen On Back Pressed With Showing _ true Will Return () Ġ{ ĊĠĠĠĠĠĠĠ Ġqueue . start () ĊĠĠĠĠĠĠĠ Ġqueue . add ( Low Tooltip ()) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( true , Ġqueue . on Back Pressed ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġwhen On Back Pressed _ empty Will Be Posted () Ġ{ ĊĠĠĠĠĠĠĠ Ġqueue . start () ĊĠĠĠĠĠĠĠ Ġqueue . add ( Low Tooltip ()) ĊĠĠĠĠĠĠĠ Ġqueue . on Back Pressed () ĊĊĠĠĠĠĠĠĠ Ġall Tooltip s . assert Value At ( 2 ) Ġ{ Ġis Same Class ( Empty Tooltip , Ġit ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ( expected Ġ= ĠIllegalArgumentException :: class ) ĊĠĠĠ Ġfun Ġwhen Removing Empty _ exception Will Be Thrown () Ġ{ ĊĠĠĠĠĠĠĠ Ġqueue . add ( Low Tooltip ()) ĊĠĠĠĠĠĠĠ Ġqueue . start () ĊĠĠĠĠĠĠĠ Ġqueue . remove ( Empty Tooltip :: class . java ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ( expected Ġ= ĠIllegalArgumentException :: class ) ĊĠĠĠ Ġfun Ġwhen Add Empty _ exception Will Be Thrown () Ġ{ ĊĠĠĠĠĠĠĠ Ġqueue . add ( Empty Tooltip ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġwhen Time Not Passed _ tooltip Will Not Be Posted () Ġ{ ĊĠĠĠĠĠĠĠ Ġqueue . add ( Low Tooltip ( delay Millis Ġ= Ġ 1 0 0 0 )) ĊĠĠĠĠĠĠĠ Ġqueue . start () ĊĠĠĠĠĠĠĠ ĠRo bo lectric . get Foreground Thread Scheduler (). advance By ( 9 9 9 , ĠTimeUnit . MILLISECONDS ) ĊĊĠĠĠĠĠĠĠ Ġall Tooltip s . assert Never Ġ{ Ġis Same Class ( Low Tooltip (), Ġit ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġafter Pass ing Delayed Time _ tooltip Will Be Posted () Ġ{ ĊĠĠĠĠĠĠĠ Ġqueue . add ( Low Tooltip ( delay Millis Ġ= Ġ 1 0 0 0 )) ĊĠĠĠĠĠĠĠ Ġqueue . start () ĊĠĠĠĠĠĠĠ ĠRo bo lectric . get Foreground Thread Scheduler (). advance By ( 1 0 0 0 , ĠTimeUnit . MILLISECONDS ) ĊĊĠĠĠĠĠĠĠ Ġall Tooltip s . assert Value At ( 1 ) Ġ{ Ġis Same Class ( Low Tooltip (), Ġit ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġafter Removing Delayed Tooltip Before Showing _ it Will Not Be Posted () Ġ{ ĊĠĠĠĠĠĠĠ Ġqueue . start () ĊĠĠĠĠĠĠĠ Ġqueue . add ( Low Tooltip ( delay Millis Ġ= Ġ 1 0 0 0 )) ĊĠĠĠĠĠĠĠ Ġqueue . remove ( Low Tooltip :: class . java ) ĊĠĠĠĠĠĠĠ ĠRo bo lectric . get Foreground Thread Scheduler (). advance By ( 1 0 0 0 , ĠTimeUnit . MILLISECONDS ) ĊĊĠĠĠĠĠĠĠ Ġall Tooltip s . assert Value Count ( 1 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġafter Removing Delayed Tooltip After Show _ empty Will Be Posted () Ġ{ ĊĠĠĠĠĠĠĠ Ġqueue . add ( Low Tooltip ( delay Millis Ġ= Ġ 1 0 0 0 )) ĊĠĠĠĠĠĠĠ Ġqueue . start () ĊĠĠĠĠĠĠĠ ĠRo bo lectric . get Foreground Thread Scheduler (). advance By ( 1 0 0 0 , ĠTimeUnit . MILLISECONDS ) ĊĠĠĠĠĠĠĠ Ġqueue . remove () ĊĊĠĠĠĠĠĠĠ Ġall Tooltip s . assert Value Count ( 3 ) ĊĠĠĠĠĠĠĠ Ġall Tooltip s . assert Value At ( 0 ) Ġ{ Ġis Same Class ( Empty Tooltip , Ġit ) Ġ} ĊĠĠĠĠĠĠĠ Ġall Tooltip s . assert Value At ( 1 ) Ġ{ Ġis Same Class ( Low Tooltip (), Ġit ) Ġ} ĊĠĠĠĠĠĠĠ Ġall Tooltip s . assert Value At ( 2 ) Ġ{ Ġis Same Class ( Empty Tooltip , Ġit ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġafter Calling Stop _ empty Will Be Posted () Ġ{ ĊĠĠĠĠĠĠĠ Ġqueue . add ( Low Tooltip ()) ĊĠĠĠĠĠĠĠ Ġqueue . start () ĊĠĠĠĠĠĠĠ Ġqueue . stop () ĊĊĠĠĠĠĠĠĠ Ġall Tooltip s . assert Value Count ( 3 ) ĊĠĠĠĠĠĠĠ Ġall Tooltip s . assert Value At ( 0 ) Ġ{ Ġis Same Class ( Empty Tooltip , Ġit ) Ġ} ĊĠĠĠĠĠĠĠ Ġall Tooltip s . assert Value At ( 1 ) Ġ{ Ġis Same Class ( Low Tooltip (), Ġit ) Ġ} ĊĠĠĠĠĠĠĠ Ġall Tooltip s . assert Value At ( 2 ) Ġ{ Ġis Same Class ( Empty Tooltip , Ġit ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġqueue State _ return Pending Tooltip s () Ġ{ ĊĠĠĠĠĠĠĠ Ġqueue . add ( Low Tooltip (), ĠMiddle Tooltip ()) ĊĊĠĠĠĠĠĠĠ Ġassert ArrayEquals ( queue . pending Tooltip s (). to Typed Array (), ĠarrayOf ( Middle Tooltip (), ĠLow Tooltip ())) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġqueue State After Start _ return Tooltip s Except First () Ġ{ ĊĠĠĠĠĠĠĠ Ġqueue . add ( Low Tooltip (), ĠMiddle Tooltip ()) ĊĠĠĠĠĠĠĠ Ġqueue . start () ĊĊĠĠĠĠĠĠĠ Ġassert ArrayEquals ( queue . pending Tooltip s (). to Typed Array (), ĠarrayOf ( Low Tooltip ())) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġqueue State After Processing All _ return Empty () Ġ{ ĊĠĠĠĠĠĠĠ Ġqueue . add ( Low Tooltip (), ĠMiddle Tooltip ()) ĊĠĠĠĠĠĠĠ Ġqueue . start () ĊĠĠĠĠĠĠĠ Ġqueue . remove () ĊĊĠĠĠĠĠĠĠ Ġassert ArrayEquals ( queue . pending Tooltip s (). to Typed Array (), ĠarrayOf ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġafter Clear Queue _ it IsEmpty () Ġ{ ĊĠĠĠĠĠĠĠ Ġqueue . add ( Low Tooltip (), ĠMiddle Tooltip ()) ĊĠĠĠĠĠĠĠ Ġqueue . clear () ĊĊĠĠĠĠĠĠĠ Ġassert ArrayEquals ( queue . pending Tooltip s (). to Typed Array (), ĠarrayOf ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġmultiple Remove _ dont Produce New Events () Ġ{ ĊĠĠĠĠĠĠĠ Ġqueue . start () ĊĠĠĠĠĠĠĠ Ġqueue . remove () ĊĠĠĠĠĠĠĠ Ġqueue . remove () ĊĊĠĠĠĠĠĠĠ Ġall Tooltip s . assert Value Count ( 1 ) ĊĠĠĠĠĠĠĠ Ġall Tooltip s . assert Value At ( 0 ) Ġ{ Ġis Same Class ( Empty Tooltip , Ġit ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġwhen Add Tooltip InThe Middle Of Removing Low Priority _ Highest Priority Shown First () Ġ{ ĊĠĠĠĠĠĠĠ Ġqueue . add ( Low Tooltip ()) ĊĠĠĠĠĠĠĠ Ġqueue . start () ĊĠĠĠĠĠĠĠ Ġqueue . add ( Middle Tooltip (), ĠHigh Tooltip ()) ĊĠĠĠĠĠĠĠ Ġqueue . remove () ĊĠĠĠĠĠĠĠ Ġqueue . remove () ĊĊĠĠĠĠĠĠĠ Ġall Tooltip s . assert Value Count ( 6 ) ĊĠĠĠĠĠĠĠ Ġall Tooltip s . assert Value At ( 0 ) Ġ{ Ġis Same Class ( Empty Tooltip , Ġit ) Ġ} ĊĠĠĠĠĠĠĠ Ġall Tooltip s . assert Value At ( 1 ) Ġ{ Ġis Same Class ( Low Tooltip (), Ġit ) Ġ} ĊĠĠĠĠĠĠĠ Ġall Tooltip s . assert Value At ( 2 ) Ġ{ Ġis Same Class ( Empty Tooltip , Ġit ) Ġ} ĊĠĠĠĠĠĠĠ Ġall Tooltip s . assert Value At ( 3 ) Ġ{ Ġis Same Class ( High Tooltip (), Ġit ) Ġ} ĊĠĠĠĠĠĠĠ Ġall Tooltip s . assert Value At ( 4 ) Ġ{ Ġis Same Class ( Empty Tooltip , Ġit ) Ġ} ĊĠĠĠĠĠĠĠ Ġall Tooltip s . assert Value At ( 5 ) Ġ{ Ġis Same Class ( Middle Tooltip (), Ġit ) Ġ} ĊĠĠĠ Ġ} Ċ Ċ }