package Ġorg . x tras . poly adapter . view ty per et rie vers Ċ Ċ import Ġio . mock k . every Ċ import Ġio . mock k . mock k Ċ import Ġorg . junit . Assert Ċ import Ġorg . junit . Test Ċ import Ġorg . x tras . poly adapter . paging . Null Item Ċ import Ġorg . x tras . poly adapter . paging . Null Safe ViewType Retriever Ċ import Ġorg . x tras . poly adapter . paging . Real Item Ċ Ċ class ĠNull Safe ViewType Retriever Test Ġ{ ĊĊĠĠĠ Ġprivate Ġinterface ĠSup ertype ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` When ĠI Ġtry Ġto Ġget Ġa Ġview Type Ġfor Ġa ĠNull Ġitem , Ġit Ġshould Ġgive Ġthe Ġset Ġnull Ġitem Ġtype `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġoriginal ViewType Retriever Ġ= Ġmock k < ViewType Retriever < Sup ertype >>() ĊĊĠĠĠĠĠĠĠ Ġval Ġnull Safe ViewType Retriever Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠNull Safe ViewType Retriever ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoriginal ViewType Retriever , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠAssert . assertEquals (- 1 , Ġnull Safe ViewType Retriever . getView Type ( Null Item ())) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` When ĠI Ġtry Ġto Ġget Ġa Ġview Ġtype Ġfor Ġa Ġitem Ġthat Ġhas Ġa Ġvalue , Ġit Ġshould Ġgive Ġthe Ġitem Ġview Ġtype Ġreturned Ġby Ġthe Ġoriginal Ġretrie ver `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsup ertype Instance Ġ= Ġmock k < Sup ertype >() ĊĊĠĠĠĠĠĠĠ Ġval Ġoriginal ViewType Retriever Ġ= Ġmock k < ViewType Retriever < Sup ertype >> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevery Ġ{ Ġget ViewType ( sup ertype Instance ) Ġ} Ġreturns Ġ 1 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġnull Safe ViewType Retriever Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠNull Safe ViewType Retriever ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoriginal ViewType Retriever , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( 1 , Ġnull Safe ViewType Retriever . getView Type ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠReal Item ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsup ertype Instance ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠ Ġ} Ċ } Ċ