package Ġcom . wo jd or . common android . watch face Ċ Ċ import Ġandroid . graphics . Canvas Ċ import Ġandroid . graphics . Path Ċ import Ġcom . wo jd or . common . domain . Point Ċ import Ġio . mock k . Mock K Annotations Ċ import Ġio . mock k . impl . annotations . Mock K Ċ import Ġio . mock k . verify Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Test Ċ Ċ class ĠBase Watch Face Test Ġ{ ĊĊĠĠĠ Ġ@ Mock K ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġcanvas : ĠCanvas ĊĊĠĠĠ Ġ@ Mock K ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġpath : ĠPath ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġwatch Face : ĠBase Watch Face ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun Ġsetup () Ġ{ ĊĠĠĠĠĠĠĠ ĠMock K Annotations . init ( this , Ġrelax ed Ġ= Ġtrue ) ĊĠĠĠĠĠĠĠ Ġwatch Face Ġ= ĠBase Watch Face ( path ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` When Ġdial Ġcolor Ġis Ġnot Ġset Ġthen Ġit Ġis Ġd rew Ġit Ġwith Ġdefault Ġcolor `() Ġ{ ĊĠĠĠĠĠĠĠ Ġwatch Face . draw Dial ( canvas ) ĊĊĠĠĠĠĠĠĠ Ġverify Ġ{ Ġcanvas . draw Color ( 0 ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` When Ġdial Ġcolor Ġis Ġset Ġthen Ġit Ġis Ġd rew Ġit Ġwith Ġset Ġcolor `() Ġ{ ĊĠĠĠĠĠĠĠ Ġwatch Face . dial Color Ġ= ĠDIAL _ COLOR ĊĊĠĠĠĠĠĠĠ Ġwatch Face . draw Dial ( canvas ) ĊĊĠĠĠĠĠĠĠ Ġverify Ġ{ Ġcanvas . draw Color ( DI AL _ COLOR ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` When Ġ 0 Ġdigit Ġis Ġd rew Ġthen Ġnothing Ġis Ġcalled `() Ġ{ ĊĠĠĠĠĠĠĠ Ġwatch Face . draw Digit ( canvas , ĠC ENTER _ POINT , ĠDOT _ RADIUS , ĠDIG IT _ RADIUS , Ġ 0 ) ĊĊĠĠĠĠĠĠĠ Ġverify ( exact ly Ġ= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas . draw Circle ( any (), Ġany (), Ġany (), Ġany ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas . draw Path ( any (), Ġany ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` When Ġ 1 Ġdigit Ġis Ġd rew Ġthen Ġproper Ġmethods Ġare Ġcalled `() Ġ{ ĊĠĠĠĠĠĠĠ Ġwatch Face . draw Digit ( canvas , ĠC ENTER _ POINT , ĠDOT _ RADIUS , ĠDIG IT _ RADIUS , Ġ 1 ) ĊĊĠĠĠĠĠĠĠ Ġverify Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas . draw Circle ( 0 F , Ġ 0 F , ĠDOT _ RADIUS , Ġany ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` When Ġ 2 Ġdigit Ġis Ġd rew Ġthen Ġproper Ġmethods Ġare Ġcalled `() Ġ{ ĊĠĠĠĠĠĠĠ Ġwatch Face . draw Digit ( canvas , ĠC ENTER _ POINT , ĠDOT _ RADIUS , ĠDIG IT _ RADIUS , Ġ 2 ) ĊĊĠĠĠĠĠĠĠ Ġverify Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpath . add Round Rect ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- 1 . 1 9 0 4 7 6 2 F , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 3 . 0 9 5 2 3 8 F , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 . 1 9 0 4 7 6 2 F , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- 1 3 . 0 9 5 2 3 8 F , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 . 1 9 0 4 7 6 2 F , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 . 1 9 0 4 7 6 2 F , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPath . Direction . CW ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` When Ġ 3 Ġdigit Ġis Ġd rew Ġthen Ġproper Ġmethods Ġare Ġcalled `() Ġ{ ĊĠĠĠĠĠĠĠ Ġwatch Face . draw Digit ( canvas , ĠC ENTER _ POINT , ĠDOT _ RADIUS , ĠDIG IT _ RADIUS , Ġ 3 ) ĊĊĠĠĠĠĠĠĠ Ġverify Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( path ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmove To (- 2 . 6 2 4 2 4 3 2 E - 1 5 F , Ġ- 1 4 . 2 8 5 7 1 4 F ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġline To ( 1 2 . 3 7 1 7 9 2 F , Ġ 7 . 1 4 2 8 5 7 F ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġline To (- 1 2 . 3 7 1 7 9 2 F , Ġ 7 . 1 4 2 8 5 7 F ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclose () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` When Ġ 4 Ġdigit Ġis Ġd rew Ġthen Ġproper Ġmethods Ġare Ġcalled `() Ġ{ ĊĠĠĠĠĠĠĠ Ġwatch Face . draw Digit ( canvas , ĠC ENTER _ POINT , ĠDOT _ RADIUS , ĠDIG IT _ RADIUS , Ġ 4 ) ĊĊĠĠĠĠĠĠĠ Ġverify Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( path ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmove To (- 2 . 6 2 4 2 4 3 2 E - 1 5 F , Ġ- 1 4 . 2 8 5 7 1 4 F ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġline To ( 1 4 . 2 8 5 7 1 4 F , Ġ- 3 . 4 9 8 9 9 0 8 E - 1 5 F ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġline To ( 4 . 3 7 3 7 3 8 5 E - 1 5 F , Ġ 1 4 . 2 8 5 7 1 4 F ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġline To (- 1 4 . 2 8 5 7 1 4 F , Ġ 5 . 2 4 8 4 8 6 3 E - 1 5 F ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclose () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` When Ġ 5 Ġdigit Ġis Ġd rew Ġthen Ġproper Ġmethods Ġare Ġcalled `() Ġ{ ĊĠĠĠĠĠĠĠ Ġwatch Face . draw Digit ( canvas , ĠC ENTER _ POINT , ĠDOT _ RADIUS , ĠDIG IT _ RADIUS , Ġ 5 ) ĊĊĠĠĠĠĠĠĠ Ġverify Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( path ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmove To (- 2 . 6 2 4 2 4 3 2 E - 1 5 F , Ġ- 1 4 . 2 8 5 7 1 4 F ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġline To ( 1 3 . 5 8 6 5 2 1 F , Ġ- 4 . 4 1 4 5 2 8 4 F ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġline To ( 8 . 3 9 6 9 3 2 F , Ġ 1 1 . 5 5 7 3 8 5 F ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġline To (- 8 . 3 9 6 9 3 2 F , Ġ 1 1 . 5 5 7 3 8 5 F ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġline To (- 1 3 . 5 8 6 5 2 1 F , Ġ- 4 . 4 1 4 5 2 8 4 F ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclose () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` When Ġ 6 Ġdigit Ġis Ġd rew Ġthen Ġproper Ġmethods Ġare Ġcalled `() Ġ{ ĊĠĠĠĠĠĠĠ Ġwatch Face . draw Digit ( canvas , ĠC ENTER _ POINT , ĠDOT _ RADIUS , ĠDIG IT _ RADIUS , Ġ 6 ) ĊĊĠĠĠĠĠĠĠ Ġverify Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( path ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmove To (- 2 . 6 2 4 2 4 3 2 E - 1 5 F , Ġ- 1 4 . 2 8 5 7 1 4 F ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġline To ( 1 2 . 3 7 1 7 9 2 F , Ġ- 7 . 1 4 2 8 5 7 F ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġline To ( 1 2 . 3 7 1 7 9 2 F , Ġ 7 . 1 4 2 8 5 7 F ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġline To ( 1 . 7 0 6 2 0 0 1 E - 1 4 F , Ġ 1 4 . 2 8 5 7 1 4 F ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġline To (- 1 2 . 3 7 1 7 9 2 F , Ġ 7 . 1 4 2 8 5 7 F ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġline To (- 1 2 . 3 7 1 7 9 2 F , Ġ- 7 . 1 4 2 8 5 7 F ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclose () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` When Ġ 7 Ġdigit Ġis Ġd rew Ġthen Ġproper Ġmethods Ġare Ġcalled `() Ġ{ ĊĠĠĠĠĠĠĠ Ġwatch Face . draw Digit ( canvas , ĠC ENTER _ POINT , ĠDOT _ RADIUS , ĠDIG IT _ RADIUS , Ġ 7 ) ĊĊĠĠĠĠĠĠĠ Ġverify Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( path ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmove To (- 2 . 6 2 4 2 4 3 2 E - 1 5 F , Ġ- 1 4 . 2 8 5 7 1 4 F ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġline To ( 1 1 . 1 6 9 0 2 1 F , Ġ- 8 . 9 0 6 9 9 7 F ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġline To ( 1 3 . 9 2 7 5 4 2 F , Ġ 3 . 1 7 8 8 7 0 4 F ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġline To ( 6 . 1 9 8 3 3 9 F , Ġ 1 2 . 8 7 0 9 8 4 F ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġline To (- 6 . 1 9 8 3 3 9 F , Ġ 1 2 . 8 7 0 9 8 4 F ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġline To (- 1 3 . 9 2 7 5 4 2 F , Ġ 3 . 1 7 8 8 7 0 4 F ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġline To (- 1 1 . 1 6 9 0 2 1 F , Ġ- 8 . 9 0 6 9 9 7 F ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclose () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` When Ġ 8 Ġdigit Ġis Ġd rew Ġthen Ġproper Ġmethods Ġare Ġcalled `() Ġ{ ĊĠĠĠĠĠĠĠ Ġwatch Face . draw Digit ( canvas , ĠC ENTER _ POINT , ĠDOT _ RADIUS , ĠDIG IT _ RADIUS , Ġ 8 ) ĊĊĠĠĠĠĠĠĠ Ġverify Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( path ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmove To (- 2 . 6 2 4 2 4 3 2 E - 1 5 F , Ġ- 1 4 . 2 8 5 7 1 4 F ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġline To ( 1 0 . 1 0 1 5 2 5 F , Ġ- 1 0 . 1 0 1 5 2 5 F ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġline To ( 1 4 . 2 8 5 7 1 4 F , Ġ- 3 . 4 9 8 9 9 0 8 E - 1 5 F ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġline To ( 1 0 . 1 0 1 5 2 5 F , Ġ 1 0 . 1 0 1 5 2 5 F ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġline To ( 4 . 3 7 3 7 3 8 5 E - 1 5 F , Ġ 1 4 . 2 8 5 7 1 4 F ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġline To (- 1 0 . 1 0 1 5 2 5 F , Ġ 1 0 . 1 0 1 5 2 5 F ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġline To (- 1 4 . 2 8 5 7 1 4 F , Ġ 5 . 2 4 8 4 8 6 3 E - 1 5 F ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġline To (- 1 0 . 1 0 1 5 2 5 F , Ġ- 1 0 . 1 0 1 5 2 5 F ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclose () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` When Ġ 9 Ġdigit Ġis Ġd rew Ġthen Ġproper Ġmethods Ġare Ġcalled `() Ġ{ ĊĠĠĠĠĠĠĠ Ġwatch Face . draw Digit ( canvas , ĠC ENTER _ POINT , ĠDOT _ RADIUS , ĠDIG IT _ RADIUS , Ġ 9 ) ĊĊĠĠĠĠĠĠĠ Ġverify Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( path ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmove To (- 2 . 6 2 4 2 4 3 2 E - 1 5 F , Ġ- 1 4 . 2 8 5 7 1 4 F ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġline To ( 9 . 1 8 2 6 8 F , Ġ- 1 0 . 9 4 3 4 9 2 F ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġline To ( 1 4 . 0 6 8 6 8 2 F , Ġ- 2 . 4 8 0 6 8 8 3 F ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġline To ( 1 2 . 3 7 1 7 9 2 F , Ġ 7 . 1 4 2 8 5 7 F ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġline To ( 4 . 8 8 6 0 0 2 F , Ġ 1 3 . 4 2 4 1 8 F ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġline To (- 4 . 8 8 6 0 0 2 F , Ġ 1 3 . 4 2 4 1 8 F ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġline To (- 1 2 . 3 7 1 7 9 2 F , Ġ 7 . 1 4 2 8 5 7 F ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġline To (- 1 4 . 0 6 8 6 8 2 F , Ġ- 2 . 4 8 0 6 8 8 3 F ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġline To (- 9 . 1 8 2 6 8 F , Ġ- 1 0 . 9 4 3 4 9 2 F ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclose () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠDIAL _ COLOR Ġ= Ġ 3 ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠC ENTER _ POINT Ġ= ĠPoint () ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠDOT _ RADIUS Ġ= Ġ 2 . 3 8 0 9 5 2 4 F ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠDIG IT _ RADIUS Ġ= Ġ 1 4 . 2 8 5 7 1 4 F ĊĠĠĠ Ġ} Ċ }