package Ġcom . aff in ipay . d agger Ċ Ċ import Ġandroid . app . Application Ċ import Ġcom . aff in ipay . Charge Model Ċ import Ġcom . aff in ipay . Login Account Model Ċ import Ġdagger . Module Ċ import Ġdagger . Provides Ċ import Ġorg . mockito . Mockito . mock Ċ import Ġjavax . inject . Singleton ĊĊ Ċ @ Module Ċ class ĠNetwork Test Module ( private Ġval Ġm Application : ĠApplication ) Ġ{ Ċ Ċ // ĠĠĠ Ġ@ Provides Ċ // ĠĠĠ Ġ@ Singleton Ċ // ĠĠĠ Ġfun Ġprovide Ret rofit (): ĠRet rofit Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠOk HttpClient . Builder () Ċ // Ċ // ĠĠĠĠĠĠĠ Ġval Ġlogging Ġ= ĠHttp Logging Interceptor () Ċ // Ċ // ĠĠĠĠĠĠĠ Ġif Ġ( Build Config . DEBUG ) Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġlogging . level Ġ= ĠHttp Logging Interceptor . Level . BODY Ċ // ĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġlogging . level Ġ= ĠHttp Logging Interceptor . Level . BASIC Ċ // ĠĠĠĠĠĠĠ Ġ} Ċ // Ċ // ĠĠĠĠĠĠĠ Ġval ĠhttpClient Ġ= Ġbuilder . read Timeout ( 3 0 , ĠTimeUnit . SECONDS ). connect Timeout ( 3 0 , ĠTimeUnit . SECONDS ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Interceptor ( logging ). build () Ċ // Ċ // ĠĠĠĠĠĠĠ Ġreturn ĠRet rofit . Builder (). baseUrl (" http :// 1 0 . 1 . 1 8 8 . 1 2 7 : 9 2 9 2 /") Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ. client ( httpClient ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Converter Factory ( Gson Converter Factory . create ()) Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Call Adapter Factory ( Rx Java 2 Call Adapter Factory . create ()) Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () Ċ // ĠĠĠ Ġ} Ċ // Ċ // ĠĠĠ Ġ@ Provides Ċ // ĠĠĠ Ġ@ Singleton Ċ // ĠĠĠ Ġfun Ġprovide Service ( ret rofit : ĠRet rofit ): ĠService Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġreturn Ġretrofit . create ( Service :: class . java ) Ċ // ĠĠĠ Ġ} ĊĊĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Account Model (): ĠLogin Account Model Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġmock ( Login Account Model :: class . java ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Charge Model (): ĠCharge Model Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġmock ( Charge Model :: class . java ) ĊĠĠĠ Ġ} Ċ }