import org.junit.Test; import java.util.Arrays; import java.util.List; import static org.junit.Assert.assertEquals; public class ComputeSpiralOrderingTest { private List<Integer> expected; private List<List<Integer>> matrix; @Test public void matrixInSpiralOrder1() { expected = Arrays.asList(1,2,3,6,9,8,7,4,5); matrix = Arrays.asList( Arrays.asList(1,2,3), Arrays.asList(4,5,6), Arrays.asList(7,8,9) ); test(expected, matrix); } @Test public void matrixInSpiralOrder2() { expected = Arrays.asList(1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10); matrix = Arrays.asList( Arrays.asList(1,2,3,4), Arrays.asList(5,6,7,8), Arrays.asList(9,10,11,12), Arrays.asList(13,14,15,16) ); test(expected, matrix); } private void test(List<Integer> expected, List<List<Integer>> matrix) { assertEquals(expected, ComputeSpiralOrdering.matrixInSpiralOrder(matrix)); } }