package Ġcom . wo ow r ale . open library . di . components Ċ Ċ import Ġcom . wo ow r ale . open library . Open Library UseCase Test Ċ import Ġcom . wo ow r ale . open library . data . repository . Open Library Repository Ċ import Ġcom . wo ow r ale . open library . di . factory . UseCase Factory Ċ import Ġcom . wo ow r ale . open library . di . modules . Fake App Module Ċ import Ġcom . wo ow r ale . open library . di . modules . Thread Module Ċ import Ġdagger . Bind s Instance Ċ import Ġdagger . Component Ċ import Ġjavax . inject . Singleton ĊĊ Ċ @ Singleton Ċ @ Component ( ĊĠĠĠ Ġmodules Ġ= Ġ[ ĊĠĠĠĠĠĠĠ ĠFake App Module :: class , ĊĠĠĠĠĠĠĠ ĠThread Module :: class ĊĠĠĠ Ġ] Ċ ) Ċ interface ĠFake UseCase Component Ġ{ ĊĊĠĠĠ Ġval Ġopen Library Repository : ĠOpen Library Repository ĊĠĠĠ Ġval Ġuse Case Factory : ĠUse Case Factory ĊĊĠĠĠ Ġ@ Component . Builder ĊĠĠĠ Ġinterface ĠBuilder Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Bind s Instance ĊĠĠĠĠĠĠĠ Ġfun Ġapp Test ( application : ĠOpen Library UseCase Test ): ĠFake UseCase Component . Builder ĊĠĠĠĠĠĠĠ Ġfun Ġbuild (): ĠFake UseCase Component ĊĠĠĠ Ġ} Ċ }