package Ġqueue Ċ Ċ import Ġl td . rust _ lang . utils . queue . Circle Deque Ċ import Ġorg . junit . Assert Ċ import Ġorg . junit . Test Ċ Ċ class ĠCircle Deque Test Ġ{ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġqueue Ġ= ĠCircle Deque < Int >() ĊĠĠĠĠĠĠĠ Ġ// Ġhead 5 Ġ 4 Ġ 3 Ġ 2 Ġ 1 ĠĠ 1 0 0 Ġ 1 0 1 Ġ 1 0 2 Ġ 1 0 3 Ġ 1 0 4 Ġ 1 0 5 Ġ 1 0 6 Ġ 8 Ġ 7 Ġ 6 Ġtail ĊĊĠĠĠĠĠĠĠ Ġ// Ġhead Ġ 8 Ġ 7 Ġ 6 ĠĠ 5 Ġ 4 Ġ 3 Ġ 2 Ġ 1 ĠĠ 1 0 0 Ġ 1 0 1 Ġ 1 0 2 Ġ 1 0 3 Ġ 1 0 4 Ġ 1 0 5 Ġ 1 0 6 Ġ 1 0 7 Ġ 1 0 8 Ġ 1 0 9 Ġnull Ġnull Ġ 1 0 Ġ 9 Ġtail ĊĠĠĠĠĠĠĠ Ġ// Ġhead Ġ 5 Ġ 4 Ġ 3 Ġ 2 Ġ 1 ĠĠ 1 0 0 Ġ 1 0 1 Ġ 1 0 2 Ġ 1 0 3 Ġ 1 0 4 Ġ 1 0 5 Ġ 1 0 6 Ġ 8 Ġ 7 Ġ 6 Ġtail ĊĊĠĠĠĠĠĠĠ Ġ// Ġhead Ġ 8 Ġ 7 Ġ 6 ĠĠ 5 Ġ 4 Ġ 3 Ġ 2 Ġ 1 ĠĠ 1 0 0 Ġ 1 0 1 Ġ 1 0 2 Ġ 1 0 3 Ġ 1 0 4 Ġ 1 0 5 Ġ 1 0 6 Ġ 1 0 7 Ġ 1 0 8 Ġ 1 0 9 Ġnull Ġnull Ġ 1 0 Ġ 9 Ġtail ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 .. 9 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġqueue . enqueue Front ( i Ġ+ Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġqueue . enqueue Re ar ( i Ġ+ Ġ 1 0 0 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġhead Ġnull Ġ 7 Ġ 6 ĠĠ 5 Ġ 4 Ġ 3 Ġ 2 Ġ 1 ĠĠ 1 0 0 Ġ 1 0 1 Ġ 1 0 2 Ġ 1 0 3 Ġ 1 0 4 Ġ 1 0 5 Ġ 1 0 6 Ġnull Ġnull Ġnull Ġnull Ġnull Ġnull Ġnull Ġtail ĊĠĠĠĠĠĠĠ Ġ// Ġhead Ġnull Ġ 7 Ġ 6 ĠĠ 5 Ġ 4 Ġ 3 Ġ 2 Ġ 1 ĠĠ 1 0 0 Ġ 1 0 1 Ġ 1 0 2 Ġ 1 0 3 Ġ 1 0 4 Ġ 1 0 5 Ġ 1 0 6 Ġnull Ġnull Ġnull Ġnull Ġnull Ġnull Ġnull Ġtail ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 .. 2 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġqueue . de queue Front () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġqueue . de queue Re ar () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġhead Ġ 1 1 Ġ 7 Ġ 6 ĠĠ 5 Ġ 4 Ġ 3 Ġ 2 Ġ 1 ĠĠ 1 0 0 Ġ 1 0 1 Ġ 1 0 2 Ġ 1 0 3 Ġ 1 0 4 Ġ 1 0 5 Ġ 1 0 6 Ġnull Ġnull Ġnull Ġnull Ġnull Ġnull Ġ 1 2 Ġtail ĊĠĠĠĠĠĠĠ Ġ// Ġhead Ġ 1 1 Ġ 7 Ġ 6 ĠĠ 5 Ġ 4 Ġ 3 Ġ 2 Ġ 1 ĠĠ 1 0 0 Ġ 1 0 1 Ġ 1 0 2 Ġ 1 0 3 Ġ 1 0 4 Ġ 1 0 5 Ġ 1 0 6 Ġnull Ġnull Ġnull Ġnull Ġnull Ġnull Ġ 1 2 Ġtail ĊĠĠĠĠĠĠĠ Ġqueue . enqueue Front ( 1 1 ) ĊĠĠĠĠĠĠĠ Ġqueue . enqueue Front ( 1 2 ) ĊĠĠĠĠĠĠĠ ĠAssert . assertTrue ( queue . de queue Front () Ġ== Ġ 1 2 ) ĊĠĠĠĠĠĠĠ ĠAssert . assertTrue ( queue . de queue Front () Ġ== Ġ 1 1 ) ĊĠĠĠĠĠĠĠ ĠAssert . assertTrue ( queue . de queue Front () Ġ== Ġ 7 ) ĊĠĠĠĠĠĠĠ ĠAssert . assertTrue ( queue . de queue Front () Ġ== Ġ 6 ) ĊĠĠĠĠĠĠĠ ĠAssert . assertTrue ( queue . de queue Front () Ġ== Ġ 5 ) ĊĠĠĠĠĠĠĠ ĠAssert . assertTrue ( queue . de queue Front () Ġ== Ġ 4 ) ĊĠĠĠĠĠĠĠ ĠAssert . assertTrue ( queue . de queue Front () Ġ== Ġ 3 ) ĊĠĠĠĠĠĠĠ ĠAssert . assertTrue ( queue . de queue Front () Ġ== Ġ 2 ) ĊĠĠĠĠĠĠĠ ĠAssert . assertTrue ( queue . de queue Front () Ġ== Ġ 1 ) ĊĠĠĠĠĠĠĠ ĠAssert . assertTrue ( queue . de queue Front () Ġ== Ġ 1 0 0 ) ĊĠĠĠĠĠĠĠ ĠAssert . assertTrue ( queue . de queue Front () Ġ== Ġ 1 0 1 ) ĊĠĠĠĠĠĠĠ ĠAssert . assertTrue ( queue . de queue Front () Ġ== Ġ 1 0 2 ) ĊĠĠĠĠĠĠĠ ĠAssert . assertTrue ( queue . de queue Front () Ġ== Ġ 1 0 3 ) ĊĠĠĠĠĠĠĠ ĠAssert . assertTrue ( queue . de queue Front () Ġ== Ġ 6 ) ĊĠĠĠĠĠĠĠ ĠAssert . assertTrue ( queue . de queue Front () Ġ== Ġ 1 0 5 ) ĊĠĠĠĠĠĠĠ ĠAssert . assertTrue ( queue . de queue Front () Ġ== Ġ 1 0 6 ) ĊĠĠĠĠĠĠĠ ĠAssert . assertTrue ( queue . de queue Front () Ġ== Ġ 1 0 7 ) ĊĠĠĠĠĠĠĠ ĠAssert . assertTrue ( queue . de queue Front () Ġ== Ġ 1 0 8 ) ĊĠĠĠĠĠĠĠ Ġqueue . de queue Front () ĊĠĠĠĠĠĠĠ ĠAssert . assertTrue ( queue . isEmpty ) ĊĠĠĠ Ġ} Ċ } Ċ