package Ġcom . gmail . jiang yang 5 1 5 7 . s udoku _ presenter . model Ċ Ċ import Ġorg . junit . Assert Ċ import Ġorg . junit . Test Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠYang ĠJ iang Ġon ĠJuly Ġ 0 9 , Ġ 2 0 1 7 ' Ċ Ġ*/ Ċ class ĠTerminal Test Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest _ toString () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġterminal Ġ= ĠTerminal ( 2 ) ĊĠĠĠĠĠĠĠ Ġterminal . C [ 1 ] Ġ= ĠCell ( 1 , Ġ 2 ) ĊĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ("{ \" E \": 2 ,\" C \": [ null , {\" B \": 1 ,\" D \": 2 }, null , null ] }", Ġterminal . toString ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest _ equals () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġt 1 Ġ= ĠTerminal ( 1 ) ĊĠĠĠĠĠĠĠ Ġval Ġt 2 Ġ= ĠTerminal ( 2 ) ĊĠĠĠĠĠĠĠ Ġval Ġt 3 Ġ= ĠTerminal ( 2 ) ĊĠĠĠĠĠĠĠ Ġval Ġt 4 Ġ= ĠTerminal ( 2 ) ĊĠĠĠĠĠĠĠ Ġval Ġt 5 Ġ= ĠTerminal ( 2 ) ĊĠĠĠĠĠĠĠ Ġval Ġt 6 Ġ= ĠTerminal ( 2 ) ĊĊĠĠĠĠĠĠĠ ĠAssert . assertTrue ( t 2 Ġ== Ġt 3 ) ĊĠĠĠĠĠĠĠ ĠAssert . assertTrue ( t 2 Ġ== Ġt 4 ) ĊĠĠĠĠĠĠĠ ĠAssert . assertTrue ( t 2 Ġ== Ġt 5 ) ĊĠĠĠĠĠĠĠ ĠAssert . assertTrue ( t 2 Ġ== Ġt 6 ) ĊĠĠĠĠĠĠĠ ĠAssert . assertTrue ( t 1 Ġ!= Ġt 2 ) ĊĊĠĠĠĠĠĠĠ Ġt 3 . C [ 1 ] Ġ= ĠCell ( 1 , Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġt 4 . C [ 1 ] Ġ= ĠCell ( 1 , Ġ 2 ) ĊĠĠĠĠĠĠĠ Ġt 5 . C [ 1 ] Ġ= ĠCell ( 1 , Ġ 2 ) ĊĠĠĠĠĠĠĠ Ġt 6 . C [ 0 ] Ġ= ĠCell ( 0 , Ġ 0 ) ĊĊĠĠĠĠĠĠĠ ĠAssert . assertTrue ( t 2 Ġ!= Ġt 3 ) ĊĠĠĠĠĠĠĠ ĠAssert . assertTrue ( t 2 Ġ!= Ġt 4 ) ĊĠĠĠĠĠĠĠ ĠAssert . assertTrue ( t 2 Ġ!= Ġt 5 ) ĊĠĠĠĠĠĠĠ ĠAssert . assertTrue ( t 2 Ġ!= Ġt 6 ) ĊĊĠĠĠĠĠĠĠ ĠAssert . assertTrue ( t 3 Ġ!= Ġt 4 ) ĊĠĠĠĠĠĠĠ ĠAssert . assertTrue ( t 3 Ġ!= Ġt 5 ) ĊĠĠĠĠĠĠĠ ĠAssert . assertTrue ( t 3 Ġ!= Ġt 6 ) ĊĊĠĠĠĠĠĠĠ ĠAssert . assertTrue ( t 4 Ġ== Ġt 5 ) ĊĠĠĠĠĠĠĠ ĠAssert . assertTrue ( t 4 Ġ!= Ġt 6 ) ĊĊĠĠĠĠĠĠĠ ĠAssert . assertTrue ( t 5 Ġ!= Ġt 6 ) ĊĠĠĠĠĠĠĠ Ġt 5 . C [ 0 ] Ġ= ĠCell ( 0 , Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġt 6 . C [ 1 ] Ġ= ĠCell ( 1 , Ġ 2 ) ĊĠĠĠĠĠĠĠ ĠAssert . assertTrue ( t 5 Ġ== Ġt 6 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest _ copy () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġt 1 Ġ= ĠTerminal ( 1 ) ĊĠĠĠĠĠĠĠ Ġval Ġt 2 Ġ= ĠTerminal ( 2 ) ĊĠĠĠĠĠĠĠ Ġval Ġt 3 Ġ= ĠTerminal ( 2 ) ĊĊĠĠĠĠĠĠĠ Ġval Ġt 1 1 Ġ= Ġt 1 . copy () ĊĠĠĠĠĠĠĠ Ġval Ġt 2 1 Ġ= Ġt 2 . copy () ĊĠĠĠĠĠĠĠ Ġval Ġt 2 2 Ġ= Ġt 2 . copy ( 3 ) ĊĠĠĠĠĠĠĠ Ġval Ġt 3 1 Ġ= Ġt 3 . copy () ĊĊĠĠĠĠĠĠĠ ĠAssert . assertTrue ( t 1 1 Ġ== Ġt 1 ) ĊĠĠĠĠĠĠĠ ĠAssert . assertTrue ( t 2 1 Ġ== Ġt 2 ) ĊĠĠĠĠĠĠĠ ĠAssert . assertTrue ( t 2 1 Ġ== Ġt 2 ) ĊĠĠĠĠĠĠĠ ĠAssert . assertTrue ( t 2 1 Ġ== Ġt 3 ) ĊĠĠĠĠĠĠĠ ĠAssert . assertTrue ( t 2 1 Ġ== Ġt 3 1 ) ĊĠĠĠĠĠĠĠ ĠAssert . assertTrue ( t 2 2 Ġ!= Ġt 2 ) ĊĊĠĠĠĠĠĠĠ Ġt 2 1 . C [ 1 ] Ġ= ĠCell ( 1 , Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġt 2 2 . C [ 1 ] Ġ= ĠCell ( 1 , Ġ 1 ) ĊĊĠĠĠĠĠĠĠ ĠAssert . assertTrue ( t 2 2 Ġ!= Ġt 2 ) ĊĠĠĠĠĠĠĠ ĠAssert . assertTrue ( t 2 1 Ġ!= Ġt 3 1 ) ĊĊĠĠĠĠĠĠĠ Ġt 3 1 . C [ 1 ] Ġ= ĠCell ( 1 , Ġ 2 ) ĊĠĠĠĠĠĠĠ ĠAssert . assertTrue ( t 2 1 Ġ!= Ġt 3 1 ) ĊĊĠĠĠĠĠĠĠ Ġt 3 1 . C [ 1 ] Ġ= ĠCell ( 1 , Ġ 1 ) ĊĠĠĠĠĠĠĠ ĠAssert . assertTrue ( t 2 1 Ġ== Ġt 3 1 ) ĊĊĠĠĠĠĠĠĠ ĠAssert . assertTrue ( t 2 1 . copy () Ġ== Ġt 3 1 . copy ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest _ deep _ copy () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġt 1 Ġ= ĠTerminal ( 2 ) ĊĠĠĠĠĠĠĠ Ġt 1 . C [ 1 ] Ġ= ĠCell ( 1 , Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġt 1 . C [ 2 ] Ġ= ĠCell ( 2 , Ġ 2 ) ĊĊĠĠĠĠĠĠĠ Ġval Ġt 2 Ġ= Ġt 1 . copy () ĊĠĠĠĠĠĠĠ ĠAssert . assertTrue ( t 2 Ġ== Ġt 1 ) ĊĊĠĠĠĠĠĠĠ Ġt 1 . C [ 1 ] Ġ= ĠCell ( t 1 . C [ 1 ] !!. B , 1 0 ) ĊĠĠĠĠĠĠĠ ĠAssert . assertTrue ( t 2 . C [ 1 ] !!. D Ġ!= Ġ 1 0 ) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( 4 , Ġt 1 . C . size ) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( 4 , Ġt 2 . C . size ) ĊĊĠĠĠĠĠĠĠ Ġt 1 . C [ 2 ] Ġ= Ġnull ĊĠĠĠĠĠĠĠ ĠAssert . assertTrue ( t 2 . C [ 2 ] Ġ!= Ġnull ) ĊĊĠĠĠĠĠĠĠ Ġval Ġt 3 Ġ= Ġt 1 . copy () ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( 4 , Ġt 1 . C . size ) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( 4 , Ġt 3 . C . size ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest _ row () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġt Ġ= ĠTerminal ( 9 ) ĊĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( 0 , Ġt . row ( 0 )) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( 0 , Ġt . row ( 8 )) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( 1 , Ġt . row ( 9 )) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( 1 , Ġt . row ( 1 7 )) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( 2 , Ġt . row ( 1 8 )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest _ col () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġt Ġ= ĠTerminal ( 9 ) ĊĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( 0 , Ġt . col ( 0 )) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( 8 , Ġt . col ( 8 )) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( 0 , Ġt . col ( 9 )) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( 8 , Ġt . col ( 1 7 )) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( 0 , Ġt . col ( 1 8 )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest _ index () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġt Ġ= ĠTerminal ( 9 ) ĊĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( 0 , Ġt . index ( 0 , Ġ 0 )) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( 8 0 , Ġt . index ( 8 , Ġ 8 )) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( 9 , Ġt . index ( 1 , Ġ 0 )) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( 1 7 , Ġt . index ( 1 , Ġ 8 )) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( 1 9 , Ġt . index ( 2 , Ġ 1 )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest _ up _ down _ left _ right () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġt Ġ= ĠTerminal ( 9 ) ĊĊĠĠĠĠĠĠĠ ĠAssert . assertEquals (- 1 , Ġt . up ( 0 )) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( 9 , Ġt . down ( 0 )) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals (- 1 , Ġt . left ( 0 )) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( 1 , Ġt . right ( 0 )) Ċ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 5 , Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 4 , Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 2 3 , Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 3 0 , Ġ 3 1 , Ġ 3 2 , Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠ 3 6 , Ġ 3 7 , Ġ 3 8 , Ġ 3 9 , Ġ 4 0 , Ġ 4 1 , Ġ 4 2 , Ġ 4 3 , Ġ 4 4 , Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 4 8 , Ġ 4 9 , Ġ 5 0 , Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 5 9 , Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 6 8 , Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 7 7 ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals (- 1 , Ġt . up ( 5 )) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( 1 4 , Ġt . down ( 5 )) ĊĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( 6 8 , Ġt . up ( 7 7 )) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals (- 1 , Ġt . down ( 7 7 )) ĊĊĠĠĠĠĠĠĠ ĠAssert . assertEquals (- 1 , Ġt . left ( 3 6 )) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( 3 7 , Ġt . right ( 3 6 )) ĊĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( 4 3 , Ġt . left ( 4 4 )) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals (- 1 , Ġt . right ( 4 4 )) ĊĠĠĠ Ġ} Ċ Ċ }