package com.jadekler.sheri;
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
/**
* Unit test for simple GameOfLife.
*/
public class SpiralNumbersTest extends TestCase {
public SpiralNumbersTest(String testName) {
super(testName);
}
/**
* @return the suite of tests being tested
*/
public static Test suite() {
return new TestSuite(SpiralNumbersTest.class);
}
public void testGetClosestOddSquare() {
SpiralNumbers target = new SpiralNumbers();
assertEquals(target.getClosestOddSquare(5), 3);
assertEquals(target.getClosestOddSquare(10), 5);
}
public void testGetSpiralSimple() {
SpiralNumbers target = new SpiralNumbers();
int[][] expected = {{0,0,0},{5,0,1},{4,3,2}};
assertTrue(deepEquals(target.getSpiral(5), expected));
}
public void testGetSpiralStandard() {
SpiralNumbers target = new SpiralNumbers();
int[][] expected = {{20,21,22,23,24},{19,6,7,8,9},{18,5,0,1,10},{17,4,3,2,11},{16,15,14,13,12}};
assertTrue(deepEquals(target.getSpiral(24), expected));
}
public boolean deepEquals(int[][] arr1, int[][] arr2) {
if (arr1.length != arr2.length) {
return false;
}
for (int i = 0; i < arr1.length; i++) {
if (arr1[i].length != arr2[i].length) {
return false;
}
for (int j = 0; j < arr1[i].length; j++) {
if (arr1[i][j] != arr2[i][j]) {
return false;
}
}
}
return true;
}
}