package com.github.xbn.test.util.matrix; import org.junit.Test; import static org.junit.Assert.*; import com.github.xbn.util.matrix.MatrixElement; /* java com.github.xbn.test.util.matrix.MatrixElement_Unit */ public class MatrixElement_Unit { public static final void main(String[] ignored) { MatrixElement_Unit unit = new MatrixElement_Unit(); unit.test_basics(); unit.test_distances(); } @Test public void test_basics() { MatrixElement element = new MatrixElement(1, 2); assertEquals(1, element.getRowIndex()); assertEquals(2, element.getColumnIndex()); try { new MatrixElement(-1, 2); fail("Row idx below zero should crash."); } catch(IllegalArgumentException iax) { assertTrue(true); } try { new MatrixElement(1, -1); fail("Col idx below zero should crash."); } catch(IllegalArgumentException iax) { assertTrue(true); } MatrixElement a = new MatrixElement(0, 0); MatrixElement b = new MatrixElement(0, 0); assertEquals(a, b); b = new MatrixElement(0, 1); assertNotEquals(a, b); } @Test public void test_distances() { MatrixElement start = new MatrixElement(0, 0); assertEquals(0, start.getHorizDistance(start)); assertEquals(0, start.getVertDistance(start)); MatrixElement end = new MatrixElement(0, 1); assertEquals(0, start.getVertDistance(end)); assertEquals(1, start.getHorizDistance(end)); end = new MatrixElement(1, 1); assertEquals(1, start.getHorizDistance(end)); assertEquals(1, start.getVertDistance(end)); start = new MatrixElement(2, 3); end = new MatrixElement(0, 0); assertEquals(-2, start.getVertDistance(end)); assertEquals(-3, start.getHorizDistance(end)); assertEquals(2, end.getVertDistance(start)); assertEquals(3, end.getHorizDistance(start)); start = new MatrixElement(1, 0); end = new MatrixElement(0, 1); assertEquals(-1, start.getVertDistance(end)); assertEquals(1, start.getHorizDistance(end)); } }