package me.mcnelis.rudder.data.collections; import static org.junit.Assert.*; import java.util.List; import me.mcnelis.rudder.data.MockAnnoTestRecord; import org.junit.Before; import org.junit.Test; public class RudderListTest { RudderList<MockAnnoTestRecord> list = new RudderList<MockAnnoTestRecord>(); @Before public void setUp() throws Exception { this.list.add(new MockAnnoTestRecord(9, "Test", 3, 4, 6, "Home", "Run")); this.list.add(new MockAnnoTestRecord(1, "Second", 12, 33, 7, "Run", "Home")); } @Test public void testGetNumericFeatureFromMethodsArray() { double[] arr = this.list.getItemNumericFeatureArray(0); double[] testVals = new double[]{6,3,4}; assertEquals(arr[0], testVals[0], .00001d); assertEquals(arr[1], testVals[1], .00001d); assertEquals(arr[2], testVals[2], .00001d); assertEquals(3, arr.length); } @Test public void testSetLabel() { MockAnnoTestRecord r = new MockAnnoTestRecord(9, "Test", 3, 4, 6, "Home", "Run"); this.list.setLabel(r, "test label"); assertEquals("test label", r.getStringLabel()); this.list.setLabel(r, 1d); assertEquals(1d, r.getDoubleLabel(), .0001); } @Test public void testInitLabelMethods() { this.list.initLabelMethods(this.list.get(0)); assertEquals("setTestLabel",this.list.getSetLabelMethods().get(0)); assertEquals("setLabel",this.list.getSetLabelMethods().get(1)); assertEquals("setLabel",this.list.getSetLabelMethods().get(2)); } @Test public void testGetLabelMethodFromField() { this.list.getLabelMethodFromField(this.list.get(0)); assertEquals("setTestLabel",this.list.getSetLabelMethods().get(0)); } @Test public void testGetLabelMethodFromMethod() { this.list.getLabelMethodFromMethod(this.list.get(0)); assertEquals("setLabel",this.list.getSetLabelMethods().get(1)); } @Test public void testGetItemNumericFeatureArray() { double[] testDouble = this.list.getItemNumericFeatureArray(1); double[] testVals = new double[]{7, 12, 33}; assertEquals(testDouble[0], testVals[0], .00001d); assertEquals(testDouble[1], testVals[1], .00001d); assertEquals(testDouble[2], testVals[2], .00001d); assertEquals(3, testDouble.length); } @Test public void testGetNumericFeatureArray() { double[] testDouble = this.list.getNumericFeatureArray(this.list.get(1)); double[] testVals = new double[]{7, 12, 33}; assertEquals(testDouble[0], testVals[0], .00001d); assertEquals(testDouble[1], testVals[1], .00001d); assertEquals(testDouble[2], testVals[2], .00001d); assertEquals(3, testDouble.length); } @Test public void testInitNumericFeatureFields() { this.list.initNumericFeatureFields(this.list.get(0)); List<String> fields = this.list.getNumericFeatureFields(); assertEquals("dv3", fields.get(0)); assertEquals(1, fields.size()); } @Test public void testGetNumericFeatureArrayFromFields() { double[] dArr = this.list.getNumericFeatureArrayFromFields(this.list.get(0)); assertEquals(6, dArr[0], .00001); assertEquals(1, dArr.length); } @Test public void testInitNumericFeatureMethods() { this.list.initNumericFeatureMethods(this.list.get(0)); List<String> fields = this.list.getNumericFeatureMethods(); assertEquals("getdVal1", fields.get(0)); assertEquals("getdVal2", fields.get(1)); assertEquals(2, fields.size()); } @Test public void testGetNumericFeatureArrayFromMethods() { double[] dArr = this.list.getNumericFeatureArrayFromMethods(this.list.get(0)); assertEquals(3, dArr[0], .00001); assertEquals(4, dArr[1], .00001); assertEquals(2, dArr.length); } @Test public void testGetUnsupervisedDoubleDoubleArray() { double[][] dArr = this.list.getUnsupervisedDoubleDoubleArray(); assertEquals(9, dArr[0][0], .00001); assertEquals(6, dArr[0][1], .00001); assertEquals(3, dArr[0][2], .00001); assertEquals(4, dArr[0][3], .00001); assertEquals(1, dArr[1][0], .00001); assertEquals(7, dArr[1][1], .00001); assertEquals(12, dArr[1][2], .00001); assertEquals(33, dArr[1][3], .00001); } @Test public void testGetSupervisedFeatures() { double[][] dArr = this.list.getSupervisedFeatures(); assertEquals(6, dArr[0][0], .00001); assertEquals(3, dArr[0][1], .00001); assertEquals(4, dArr[0][2], .00001); assertEquals(7, dArr[1][0], .00001); assertEquals(12, dArr[1][1], .00001); assertEquals(33, dArr[1][2], .00001); } @Test public void testGetSupervisedLabels() { double[] dArr = this.list.getSupervisedLabels(); assertEquals(9,dArr[0],.0001); assertEquals(1,dArr[1],.0001); } @Test public void testInitNumericLabelFields() { this.list.initNumericLabelFields(); List<String> fields = this.list.getNumericLabelFields(); assertEquals(0, fields.size()); } @Test public void testInitNumericLabelMethods() { this.list.initNumericLabelMethods(); List<String> fields = this.list.getNumericLabelMethods(); assertEquals(1, fields.size()); assertEquals("getDoubleLabel", fields.get(0)); } @Test public void testGetDoubleLabelFromFields() { assertEquals(Double.NaN, this.list.getDoubleLabelFromFields(this.list.get(0)), .0001); } @Test public void testGetUnsupervisedSampleDoubleArray() { double[] dArr = this.list.getUnsupervisedSampleDoubleArray(); assertEquals(9, dArr[0], .00001); assertEquals(6, dArr[1], .00001); assertEquals(3, dArr[2], .00001); assertEquals(4, dArr[3], .00001); } @Test public void testGetSupervisedSampleDoubleArray() { double[] dArr = this.list.getSupervisedSampleDoubleArray(); assertEquals(6, dArr[0], .00001); assertEquals(3, dArr[1], .00001); assertEquals(4, dArr[2], .00001); } @Test public void testGetClusterId() { this.list.setClusterId(9); assertEquals(9, this.list.getClusterId()); } @Test public void testGetStringLabel() { String s = this.list.getStringLabel(this.list.get(0)); assertEquals("Test", s); s = this.list.getStringLabel(this.list.get(1)); assertEquals("Second", s); } @Test public void testGetLabelFromFields() { fail("Not yet implemented"); } @Test public void testGetLabelFromMethods() { fail("Not yet implemented"); } @Test public void testGetRecordFeatures() { fail("Not yet implemented"); } @Test public void testGetFeatureArrayFromFields() { fail("Not yet implemented"); } @Test public void testGetFeatureArrayFromMethods() { fail("Not yet implemented"); } @Test public void testGetUnsupervisedDoubleArray() { fail("Not yet implemented"); } @Test public void testGetNumericLabelsForRecord() { fail("Not yet implemented"); } @Test public void testArrayMerge() { fail("Not yet implemented"); } @Test public void testSetNoise() { fail("Not yet implemented"); } @Test public void testIsNoise() { fail("Not yet implemented"); } @Test public void testIsVisited() { fail("Not yet implemented"); } @Test public void testSetVisited() { fail("Not yet implemented"); } }