package Ġcom . altitude 3 1 9 0 . en igma Ċ Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Test Ċ import Ġkotlin . test . assertEquals Ċ Ċ class ĠR otor Test Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġrot cfg Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 Ġto Ġ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġto Ġ 3 , ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 Ġto Ġ 2 , ĊĠĠĠĠĠĠĠĠĠĠĠĠ 3 Ġto Ġ 0 ĊĠĠĠ Ġ) ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġcp 1 : ĠR otor ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġcp 2 : ĠR otor ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġcp 3 : ĠR otor ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun ĠsetUp () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġal ph Ġ= ĠAl phabet (" AB CD ") ĊĊĠĠĠĠĠĠĠ Ġcp 3 Ġ= ĠR otor ( 0 , Ġ 2 , Ġal ph , Ġrot cfg ) ĊĊĠĠĠĠĠĠĠ Ġcp 2 Ġ= ĠR otor ( 0 , Ġ 2 , Ġal ph , Ġrot cfg ) ĊĠĠĠĠĠĠĠ Ġcp 2 . next Ġ= Ġcp 3 ĊĊĠĠĠĠĠĠĠ Ġcp 1 Ġ= ĠR otor ( 0 , Ġ 1 , Ġal ph , Ġrot cfg ) ĊĠĠĠĠĠĠĠ Ġcp 1 . next Ġ= Ġcp 2 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġrotate () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġcp 1 . rotate () ĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 , Ġcp 1 . latch Pos ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( true , Ġcp 1 . latch Lock ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 , Ġcp 2 . latch Pos ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( false , Ġcp 2 . latch Lock ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 , Ġcp 3 . latch Pos ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( false , Ġcp 3 . latch Lock ) ĊĊĠĠĠĠĠĠĠ Ġcp 1 . rotate () ĊĠĠĠĠĠĠĠ ĠassertEquals ( 3 , Ġcp 1 . latch Pos ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( true , Ġcp 1 . latch Lock ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 3 , Ġcp 2 . latch Pos ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( true , Ġcp 2 . latch Lock ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 3 , Ġcp 3 . latch Pos ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( true , Ġcp 3 . latch Lock ) ĊĊĠĠĠĠĠĠĠ Ġcp 1 . rotate () ĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 , Ġcp 1 . latch Pos ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( true , Ġcp 1 . latch Lock ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 3 , Ġcp 2 . latch Pos ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( false , Ġcp 2 . latch Lock ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 3 , Ġcp 3 . latch Pos ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( true , Ġcp 3 . latch Lock ) ĊĊĠĠĠ Ġ} Ċ Ċ }