package Ġcom . sin ch . sms verification Ċ Ċ import Ġandroid . os . Build Ċ import Ġcom . sin ch . verification . core . config . general . Global Config Ċ import Ġcom . sin ch . verification . core . config . method . Verification Method Properties Ċ import Ġcom . sin ch . verification . core . verification . Verification Language Ċ import Ġcom . sin ch . verification . sms . Sms Verification Service Ċ import Ġcom . sin ch . verification . sms . config . Sms Verification Config Ċ import Ġio . mock k . Mock K Annotations Ċ import Ġio . mock k . every Ċ import Ġio . mock k . impl . annotations . Mock K Ċ import Ġio . mock k . mock k Ċ import Ġorg . junit . Assert Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . runner . RunWith Ċ import Ġorg . ro bo lectric . Ro bo lectric TestRunner Ċ import Ġorg . ro bo lectric . annotation . Config Ċ Ċ @ RunWith ( ĊĠĠĠ ĠRo bo lectric TestRunner :: class Ċ ) Ċ @ Config ( sdk Ġ= Ġ[ Build . VERSION _ CODES . O _ MR 1 ]) Ċ class ĠS ms Verification Config Tests Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval Ġtest Number Ġ= Ġ"+ 4 8 1 2 3 4 5 6 7 8 9 " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Mock K ( relax ed Ġ= Ġtrue ) ĊĠĠĠ Ġlateinit Ġvar Ġglobal Config : ĠGlobal Config ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ ĠMock K Annotations . init ( this ) ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġglobal Config . ret rofit Ġ} Ġreturns Ġmock k Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevery Ġ{ Ġcreate ( Sms Verification Service :: class . java ) Ġ} Ġreturns Ġmock k () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Default Constructor Matches () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbuilt Config Ġ= ĠS ms Verification Config . Builder . instance . global Config ( global Config ). number ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Number ĊĠĠĠĠĠĠĠ Ġ). build () ĊĠĠĠĠĠĠĠ Ġcheck Config Fields Matches ( built Config , ĠS ms Verification Config ( global Config , Ġtest Number )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Verification Method Properties Initialization Matches Manual () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcustom Ġ= Ġ" custom " ĊĠĠĠĠĠĠĠ Ġval Ġhon our Early Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġval Ġreference Ġ= Ġ" reference " ĊĠĠĠĠĠĠĠ Ġval Ġaccepted Languages Ġ= Ġempty List < Verification Language >() ĊĊĠĠĠĠĠĠĠ Ġval Ġverification Method Properties Ġ= Ġobject Ġ: ĠVerification Method Properties Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġnumber : ĠString Ġ= Ġtest Number ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġcustom : ĠString Ġ= Ġcustom ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġreference : ĠString Ġ= Ġreference ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġhon our Early Reject : ĠBoolean Ġ= Ġhon our Early ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġaccepted Languages : ĠList < Verification Language > Ġ= Ġaccepted Languages ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġconfig With Verification Parameters Ġ= ĠS ms Verification Config . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. global Config ( global Config ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Verification Properties ( verification Method Properties ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠ Ġval Ġmanually Built Config Ġ= ĠS ms Verification Config . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. global Config ( global Config ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. number ( test Number ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. custom ( custom ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. reference ( reference ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. hon our Early Reject ( hon our Early ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. accepted Languages ( accepted Languages ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠ Ġcheck Config Fields Matches ( config With Verification Parameters , Ġmanually Built Config ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Minimal Verification Parameters Matches Default () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġverification Method Properties Ġ= Ġobject Ġ: ĠVerification Method Properties Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġnumber : ĠString Ġ= Ġtest Number ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġcustom : ĠString ? Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġreference : ĠString ? Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġhon our Early Reject : ĠBoolean Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġaccepted Languages : ĠList < Verification Language > Ġ= Ġempty List () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġconfig With Verification Parameters Ġ= ĠS ms Verification Config . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. global Config ( global Config ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Verification Properties ( verification Method Properties ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠ Ġval Ġmanually Built Config Ġ= ĠS ms Verification Config . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. global Config ( global Config ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. number ( test Number ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠ Ġcheck Config Fields Matches ( config With Verification Parameters , Ġmanually Built Config ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Full Builder Matches () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcustom Ġ= Ġ" custom " ĊĠĠĠĠĠĠĠ Ġval Ġhon our Early Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġval Ġapp Hash Ġ= Ġ" app Hash " ĊĊĠĠĠĠĠĠĠ Ġcheck Config Fields Matches ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconfig 1 Ġ= ĠS ms Verification Config . Builder . instance ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. global Config ( global Config ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. number ( test Number ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. app Hash ( app Hash ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. custom ( custom ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. hon our Early Reject ( hon our Early ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconfig 2 Ġ= ĠS ms Verification Config . Builder . instance ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. global Config ( global Config ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. number ( test Number ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. hon our Early Reject ( hon our Early ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. custom ( custom ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. app Hash ( app Hash ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcheck Config Fields Matches ( ĊĠĠĠĠĠĠĠ Ġconfig 1 : ĠS ms Verification Config , ĊĠĠĠĠĠĠĠ Ġconfig 2 : ĠS ms Verification Config ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( config 1 . app Hash , Ġconfig 2 . app Hash ) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( config 1 . custom , Ġconfig 2 . custom ) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( config 1 . hon our Early Reject , Ġconfig 2 . hon our Early Reject ) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( config 1 . reference , Ġconfig 2 . reference ) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( config 1 . accepted Languages , Ġconfig 2 . accepted Languages ) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( config 1 . number , Ġconfig 2 . number ) ĊĠĠĠ Ġ} Ċ }