Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Overholt2009-08-11 15:34:33 +0000
committerAndrew Overholt2009-08-11 15:34:33 +0000
commitd7ff177e92e641590c38bfb48579158b8a52a5ae (patch)
tree5a3f567b8d9beba635d1b39c71d112814fe9ba2b /systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src
parent5500323611c3d73e6a0795f9e23443b1cb1164a4 (diff)
downloadorg.eclipse.linuxtools-d7ff177e92e641590c38bfb48579158b8a52a5ae.tar.gz
org.eclipse.linuxtools-d7ff177e92e641590c38bfb48579158b8a52a5ae.tar.xz
org.eclipse.linuxtools-d7ff177e92e641590c38bfb48579158b8a52a5ae.zip
Branch for 0.3
Diffstat (limited to 'systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src')
-rw-r--r--systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/AllTests.java88
-rw-r--r--systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/MockDataSet.java67
-rw-r--r--systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/adapters/BlockAdapterTest.java20
-rw-r--r--systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/adapters/ScrollAdapterTest.java20
-rw-r--r--systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/aggregates/AverageAggregateTest.java66
-rw-r--r--systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/aggregates/CountAggregateTest.java66
-rw-r--r--systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/aggregates/MaxAggregateTest.java65
-rw-r--r--systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/aggregates/MinAggregateTest.java66
-rw-r--r--systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/aggregates/SumAggregateTest.java66
-rw-r--r--systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/datasets/row/FilteredRowDataSetTest.java271
-rw-r--r--systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/datasets/row/RowDataSetTest.java157
-rw-r--r--systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/datasets/row/RowEntryTest.java109
-rw-r--r--systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/datasets/row/RowParserTest.java66
-rw-r--r--systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/datasets/table/FilteredTableDataSetTest.java267
-rw-r--r--systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/datasets/table/TableDataSetTest.java164
-rw-r--r--systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/datasets/table/TableEntryTest.java125
-rw-r--r--systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/datasets/table/TableParserTest.java69
-rw-r--r--systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/filters/MatchFilterTest.java79
-rw-r--r--systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/filters/RangeFilterTest.java139
-rw-r--r--systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/filters/SortFilterTest.java109
-rw-r--r--systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/filters/UniqueFilterTest.java93
-rw-r--r--systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/structures/ChartStreamDaemonTest.java55
-rw-r--r--systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/structures/ChartStreamDaemonTest2.java60
-rw-r--r--systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/structures/DataPointTest.java19
-rw-r--r--systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/structures/GraphDataTest.java30
-rw-r--r--systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/structures/NumberTypeTest.java76
-rw-r--r--systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/structures/UpdateManagerTest.java57
27 files changed, 2469 insertions, 0 deletions
diff --git a/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/AllTests.java b/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/AllTests.java
new file mode 100644
index 0000000000..e6a62f22a6
--- /dev/null
+++ b/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/AllTests.java
@@ -0,0 +1,88 @@
+/*******************************************************************************
+ * Copyright (c) 2006 IBM Corporation.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - Jeff Briggs, Henry Hughes, Ryan Morse
+ *******************************************************************************/
+
+package org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests;
+
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests.adapters.BlockAdapterTest;
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests.adapters.ScrollAdapterTest;
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests.aggregates.AverageAggregateTest;
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests.aggregates.CountAggregateTest;
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests.aggregates.MaxAggregateTest;
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests.aggregates.MinAggregateTest;
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests.aggregates.SumAggregateTest;
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests.datasets.row.FilteredRowDataSetTest;
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests.datasets.row.RowDataSetTest;
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests.datasets.row.RowEntryTest;
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests.datasets.row.RowParserTest;
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests.datasets.table.FilteredTableDataSetTest;
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests.datasets.table.TableDataSetTest;
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests.datasets.table.TableEntryTest;
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests.datasets.table.TableParserTest;
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests.filters.MatchFilterTest;
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests.filters.RangeFilterTest;
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests.filters.SortFilterTest;
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests.filters.UniqueFilterTest;
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests.structures.ChartStreamDaemonTest;
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests.structures.ChartStreamDaemonTest2;
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests.structures.DataPointTest;
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests.structures.GraphDataTest;
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests.structures.NumberTypeTest;
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests.structures.UpdateManagerTest;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+public class AllTests {
+ public static Test suite() {
+ TestSuite suite = new TestSuite("Test for org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests");
+
+ //Adapters
+ suite.addTestSuite(BlockAdapterTest.class);
+ suite.addTestSuite(ScrollAdapterTest.class);
+
+ //Aggregates
+ suite.addTestSuite(AverageAggregateTest.class);
+ suite.addTestSuite(CountAggregateTest.class);
+ suite.addTestSuite(MaxAggregateTest.class);
+ suite.addTestSuite(MinAggregateTest.class);
+ suite.addTestSuite(SumAggregateTest.class);
+
+ //DataSets
+
+ //DataSets.Row
+ suite.addTestSuite(FilteredRowDataSetTest.class);
+ suite.addTestSuite(RowDataSetTest.class);
+ suite.addTestSuite(RowEntryTest.class);
+ suite.addTestSuite(RowParserTest.class);
+
+ //DataSets.Table
+ suite.addTestSuite(FilteredTableDataSetTest.class);
+ suite.addTestSuite(TableDataSetTest.class);
+ suite.addTestSuite(TableEntryTest.class);
+ suite.addTestSuite(TableParserTest.class);
+
+ //Filters
+ suite.addTestSuite(MatchFilterTest.class);
+ suite.addTestSuite(RangeFilterTest.class);
+ suite.addTestSuite(SortFilterTest.class);
+ suite.addTestSuite(UniqueFilterTest.class);
+
+ //Structures
+ suite.addTestSuite(ChartStreamDaemonTest.class);
+ suite.addTestSuite(ChartStreamDaemonTest2.class);
+ suite.addTestSuite(DataPointTest.class);
+ suite.addTestSuite(GraphDataTest.class);
+ suite.addTestSuite(NumberTypeTest.class);
+ suite.addTestSuite(UpdateManagerTest.class);
+
+ return suite;
+ }
+}
diff --git a/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/MockDataSet.java b/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/MockDataSet.java
new file mode 100644
index 0000000000..9ed699d2f6
--- /dev/null
+++ b/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/MockDataSet.java
@@ -0,0 +1,67 @@
+/*******************************************************************************
+ * Copyright (c) 2006 IBM Corporation.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - Jeff Briggs, Henry Hughes, Ryan Morse
+ *******************************************************************************/
+
+package org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests;
+
+import java.util.ArrayList;
+
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.datasets.row.RowDataSet;
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.datasets.row.RowEntry;
+
+
+public final class MockDataSet {
+ public static RowDataSet buildDataSet(int rows, int cols) {
+ String[] titles = new String[cols];
+ int i;
+ for(i=0; i<cols; i++)
+ titles[i] = ""+ i;
+
+ RowDataSet data = new RowDataSet(titles);
+ RowEntry entry;
+
+ int j;
+ for(i=0; i<rows; i++) {
+ Object[] d = new Object[cols];
+ for(j=0; j< cols; j++)
+ d[j] = new Double(i*cols + j);
+ entry = new RowEntry();
+ entry.putRow(0, d);
+ data.append(entry);
+ }
+ return data;
+ }
+
+ public static ArrayList[] buildArray(int width, int height, int wrap) {
+ ArrayList[] list = new ArrayList[width];
+
+ for(int i=0; i<width; i++) {
+ list[i] = new ArrayList();
+ for(int j=0; j<height; j++) {
+ list[i].add("" + ((j+i) % wrap));
+ }
+ }
+ return list;
+ }
+
+ public static Integer[] buildIntegerArray(int[] arr) {
+ Integer[] ints = new Integer[arr.length];
+ for(int i=0; i<arr.length; i++)
+ ints[i] = new Integer(arr[i]);
+ return ints;
+ }
+
+ public static Double[] buildDoubleArray(double[] arr) {
+ Double[] doubles = new Double[arr.length];
+ for(int i=0; i<arr.length; i++)
+ doubles[i] = new Double(arr[i]);
+ return doubles;
+ }
+}
diff --git a/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/adapters/BlockAdapterTest.java b/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/adapters/BlockAdapterTest.java
new file mode 100644
index 0000000000..5579279e49
--- /dev/null
+++ b/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/adapters/BlockAdapterTest.java
@@ -0,0 +1,20 @@
+package org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests.adapters;
+
+import junit.framework.TestCase;
+
+public class BlockAdapterTest extends TestCase {
+ public BlockAdapterTest(String name) {
+ super(name);
+ }
+
+ protected void setUp() throws Exception {
+ super.setUp();
+ }
+
+ public void testIsValid() {
+ }
+
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ }
+}
diff --git a/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/adapters/ScrollAdapterTest.java b/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/adapters/ScrollAdapterTest.java
new file mode 100644
index 0000000000..39d4e9fa40
--- /dev/null
+++ b/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/adapters/ScrollAdapterTest.java
@@ -0,0 +1,20 @@
+package org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests.adapters;
+
+import junit.framework.TestCase;
+
+public class ScrollAdapterTest extends TestCase {
+ public ScrollAdapterTest(String name) {
+ super(name);
+ }
+
+ protected void setUp() throws Exception {
+ super.setUp();
+ }
+
+ public void testIsValid() {
+ }
+
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ }
+} \ No newline at end of file
diff --git a/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/aggregates/AverageAggregateTest.java b/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/aggregates/AverageAggregateTest.java
new file mode 100644
index 0000000000..14fb182203
--- /dev/null
+++ b/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/aggregates/AverageAggregateTest.java
@@ -0,0 +1,66 @@
+/*******************************************************************************
+ * Copyright (c) 2006 IBM Corporation.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - Jeff Briggs, Henry Hughes, Ryan Morse
+ *******************************************************************************/
+
+package org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests.aggregates;
+
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.aggregates.AverageAggregate;
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests.MockDataSet;
+
+import junit.framework.TestCase;
+
+public class AverageAggregateTest extends TestCase {
+ public AverageAggregateTest(String name) {
+ super(name);
+ }
+
+ protected void setUp() throws Exception {
+ super.setUp();
+ }
+
+ public void testAggregate() {
+ AverageAggregate aa = new AverageAggregate();
+ Number num;
+
+ num = aa.aggregate(null);
+ assertNull(num);
+
+ num = aa.aggregate(new Number[] {});
+ assertNull(num);
+
+ num = aa.aggregate(MockDataSet.buildIntegerArray(new int[] {0,0,0}));
+ assertEquals(0, num.intValue());
+
+ num = aa.aggregate(MockDataSet.buildIntegerArray(new int[] {-1,0,1}));
+ assertEquals(0, num.intValue());
+
+ num = aa.aggregate(MockDataSet.buildIntegerArray(new int[] {0,0,1}));
+ assertEquals(0, num.intValue());
+
+
+ num = aa.aggregate(MockDataSet.buildDoubleArray(new double[] {0,0,0}));
+ assertEquals(0.0, num.doubleValue(), 0.0);
+
+ num = aa.aggregate(MockDataSet.buildDoubleArray(new double[] {-1,0,1}));
+ assertEquals(0.0, num.doubleValue(), 0.0);
+
+ num = aa.aggregate(MockDataSet.buildDoubleArray(new double[] {0,0,1}));
+ assertEquals(1.0/3.0, num.doubleValue(), 0.0);
+ }
+
+ public void testGetID() {
+ AverageAggregate aa = new AverageAggregate();
+ assertTrue(AverageAggregate.ID.equals(aa.getID()));
+ }
+
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ }
+}
diff --git a/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/aggregates/CountAggregateTest.java b/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/aggregates/CountAggregateTest.java
new file mode 100644
index 0000000000..051ffc4c68
--- /dev/null
+++ b/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/aggregates/CountAggregateTest.java
@@ -0,0 +1,66 @@
+/*******************************************************************************
+ * Copyright (c) 2006 IBM Corporation.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - Jeff Briggs, Henry Hughes, Ryan Morse
+ *******************************************************************************/
+
+package org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests.aggregates;
+
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.aggregates.CountAggregate;
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests.MockDataSet;
+
+import junit.framework.TestCase;
+
+public class CountAggregateTest extends TestCase {
+ public CountAggregateTest(String name) {
+ super(name);
+ }
+
+ protected void setUp() throws Exception {
+ super.setUp();
+ }
+
+ public void testAggregate() {
+ CountAggregate aa = new CountAggregate();
+ Number num;
+
+ num = aa.aggregate(null);
+ assertNull(num);
+
+ num = aa.aggregate(new Number[] {});
+ assertNull(num);
+
+ num = aa.aggregate(MockDataSet.buildIntegerArray(new int[] {0,0,0}));
+ assertEquals(3, num.intValue());
+
+ num = aa.aggregate(MockDataSet.buildIntegerArray(new int[] {-1,0}));
+ assertEquals(2, num.intValue());
+
+ num = aa.aggregate(MockDataSet.buildIntegerArray(new int[] {0,0,1,2,3}));
+ assertEquals(5, num.intValue());
+
+
+ num = aa.aggregate(MockDataSet.buildDoubleArray(new double[] {0,0,0}));
+ assertEquals(3, num.doubleValue(), 0.0);
+
+ num = aa.aggregate(MockDataSet.buildDoubleArray(new double[] {-1,1}));
+ assertEquals(2, num.doubleValue(), 0.0);
+
+ num = aa.aggregate(MockDataSet.buildDoubleArray(new double[] {0,0,1,4,5}));
+ assertEquals(5, num.doubleValue(), 0.0);
+ }
+
+ public void testGetID() {
+ CountAggregate aa = new CountAggregate();
+ assertTrue(CountAggregate.ID.equals(aa.getID()));
+ }
+
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ }
+}
diff --git a/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/aggregates/MaxAggregateTest.java b/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/aggregates/MaxAggregateTest.java
new file mode 100644
index 0000000000..e3be6c8f82
--- /dev/null
+++ b/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/aggregates/MaxAggregateTest.java
@@ -0,0 +1,65 @@
+/*******************************************************************************
+ * Copyright (c) 2006 IBM Corporation.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - Jeff Briggs, Henry Hughes, Ryan Morse
+ *******************************************************************************/
+
+package org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests.aggregates;
+
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.aggregates.MaxAggregate;
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests.MockDataSet;
+
+import junit.framework.TestCase;
+
+public class MaxAggregateTest extends TestCase {
+ public MaxAggregateTest(String name) {
+ super(name);
+ }
+
+ protected void setUp() throws Exception {
+ super.setUp();
+ }
+
+ public void testAggregate() {
+ MaxAggregate aa = new MaxAggregate();
+ Number num;
+
+ num = aa.aggregate(null);
+ assertNull(num);
+
+ num = aa.aggregate(new Number[] {});
+ assertNull(num);
+
+ num = aa.aggregate(MockDataSet.buildIntegerArray(new int[] {0,0,0}));
+ assertEquals(0, num.intValue());
+
+ num = aa.aggregate(MockDataSet.buildIntegerArray(new int[] {-1,0,1}));
+ assertEquals(1, num.intValue());
+
+ num = aa.aggregate(MockDataSet.buildIntegerArray(new int[] {0,0,1}));
+ assertEquals(1, num.intValue());
+
+ num = aa.aggregate(MockDataSet.buildDoubleArray(new double[] {0,0,0}));
+ assertEquals(0.0, num.doubleValue(), 0.0);
+
+ num = aa.aggregate(MockDataSet.buildDoubleArray(new double[] {-1,0,1}));
+ assertEquals(1.0, num.doubleValue(), 0.0);
+
+ num = aa.aggregate(MockDataSet.buildDoubleArray(new double[] {0,0,1,2}));
+ assertEquals(2.0, num.doubleValue(), 0.0);
+ }
+
+ public void testGetID() {
+ MaxAggregate aa = new MaxAggregate();
+ assertTrue(MaxAggregate.ID.equals(aa.getID()));
+ }
+
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ }
+}
diff --git a/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/aggregates/MinAggregateTest.java b/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/aggregates/MinAggregateTest.java
new file mode 100644
index 0000000000..43386877cf
--- /dev/null
+++ b/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/aggregates/MinAggregateTest.java
@@ -0,0 +1,66 @@
+/*******************************************************************************
+ * Copyright (c) 2006 IBM Corporation.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - Jeff Briggs, Henry Hughes, Ryan Morse
+ *******************************************************************************/
+
+package org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests.aggregates;
+
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.aggregates.MinAggregate;
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests.MockDataSet;
+
+import junit.framework.TestCase;
+
+public class MinAggregateTest extends TestCase {
+ public MinAggregateTest(String name) {
+ super(name);
+ }
+
+ protected void setUp() throws Exception {
+ super.setUp();
+ }
+
+ public void testAggregate() {
+ MinAggregate aa = new MinAggregate();
+ Number num;
+
+ num = aa.aggregate(null);
+ assertNull(num);
+
+ num = aa.aggregate(new Number[] {});
+ assertNull(num);
+
+ num = aa.aggregate(MockDataSet.buildIntegerArray(new int[] {0,0,0}));
+ assertEquals(0, num.intValue());
+
+ num = aa.aggregate(MockDataSet.buildIntegerArray(new int[] {-1,0,1}));
+ assertEquals(-1, num.intValue());
+
+ num = aa.aggregate(MockDataSet.buildIntegerArray(new int[] {0,0,1}));
+ assertEquals(0, num.intValue());
+
+
+ num = aa.aggregate(MockDataSet.buildDoubleArray(new double[] {0,0,0}));
+ assertEquals(0.0, num.doubleValue(), 0.0);
+
+ num = aa.aggregate(MockDataSet.buildDoubleArray(new double[] {-1,0,1}));
+ assertEquals(-1.0, num.doubleValue(), 0.0);
+
+ num = aa.aggregate(MockDataSet.buildDoubleArray(new double[] {0,0,1}));
+ assertEquals(0.0, num.doubleValue(), 0.0);
+ }
+
+ public void testGetID() {
+ MinAggregate aa = new MinAggregate();
+ assertTrue(MinAggregate.ID.equals(aa.getID()));
+ }
+
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ }
+}
diff --git a/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/aggregates/SumAggregateTest.java b/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/aggregates/SumAggregateTest.java
new file mode 100644
index 0000000000..6678fde62f
--- /dev/null
+++ b/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/aggregates/SumAggregateTest.java
@@ -0,0 +1,66 @@
+/*******************************************************************************
+ * Copyright (c) 2006 IBM Corporation.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - Jeff Briggs, Henry Hughes, Ryan Morse
+ *******************************************************************************/
+
+package org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests.aggregates;
+
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.aggregates.SumAggregate;
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests.MockDataSet;
+
+import junit.framework.TestCase;
+
+public class SumAggregateTest extends TestCase {
+ public SumAggregateTest(String name) {
+ super(name);
+ }
+
+ protected void setUp() throws Exception {
+ super.setUp();
+ }
+
+ public void testAggregate() {
+ SumAggregate aa = new SumAggregate();
+ Number num;
+
+ num = aa.aggregate(null);
+ assertNull(num);
+
+ num = aa.aggregate(new Number[] {});
+ assertNull(num);
+
+ num = aa.aggregate(MockDataSet.buildIntegerArray(new int[] {0,0,0}));
+ assertEquals(0, num.intValue());
+
+ num = aa.aggregate(MockDataSet.buildIntegerArray(new int[] {-1,0,1}));
+ assertEquals(0, num.intValue());
+
+ num = aa.aggregate(MockDataSet.buildIntegerArray(new int[] {0,0,1}));
+ assertEquals(1, num.intValue());
+
+
+ num = aa.aggregate(MockDataSet.buildDoubleArray(new double[] {0,0,0}));
+ assertEquals(0.0, num.doubleValue(), 0.0);
+
+ num = aa.aggregate(MockDataSet.buildDoubleArray(new double[] {-1,0,1}));
+ assertEquals(0.0, num.doubleValue(), 0.0);
+
+ num = aa.aggregate(MockDataSet.buildDoubleArray(new double[] {0,0,1,2}));
+ assertEquals(3.0, num.doubleValue(), 0.0);
+ }
+
+ public void testGetID() {
+ SumAggregate aa = new SumAggregate();
+ assertTrue(SumAggregate.ID.equals(aa.getID()));
+ }
+
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ }
+}
diff --git a/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/datasets/row/FilteredRowDataSetTest.java b/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/datasets/row/FilteredRowDataSetTest.java
new file mode 100644
index 0000000000..0caf8b57ee
--- /dev/null
+++ b/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/datasets/row/FilteredRowDataSetTest.java
@@ -0,0 +1,271 @@
+package org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests.datasets.row;
+
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.datasets.IDataEntry;
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.datasets.row.FilteredRowDataSet;
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.datasets.row.RowDataSet;
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.datasets.row.RowEntry;
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.filters.IDataSetFilter;
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.filters.RangeFilter;
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.filters.SortFilter;
+
+import junit.framework.TestCase;
+
+public class FilteredRowDataSetTest extends TestCase {
+ public FilteredRowDataSetTest(String name) {
+ super(name);
+ }
+
+ protected void setUp() throws Exception {
+ super.setUp();
+
+ data = new RowDataSet(new String[] {"a", "b", "c"});
+ fdata = new FilteredRowDataSet(data);
+ new FilteredRowDataSet(data.getTitles());
+
+ entry0 = new RowEntry();
+ entry0.putRow(0, new String[] {"1", "2", "3"});
+ data.setData(entry0);
+ RowEntry entry = new RowEntry();
+ entry.putRow(0, new String[] {"4", "5", "6"});
+ data.setData(entry);
+ }
+
+ //Overwrite methods to insure data is removed from the original DataSet
+ public void testAppend() {
+ assertEquals(2, data.getEntryCount());
+ RowEntry entry = new RowEntry();
+ entry.putRow(0, new String[] {"1", "2", "3"});
+ fdata.append(entry);
+ assertEquals(3, data.getEntryCount());
+ }
+
+ public void testRemove() {
+ assertFalse(fdata.remove(null));
+ assertFalse(fdata.remove(new RowEntry()));
+ assertFalse(fdata.remove(-1));
+ assertFalse(fdata.remove(10));
+ assertEquals(2, fdata.getEntryCount());
+
+ IDataEntry entry = data.getEntry(0);
+ assertTrue(fdata.remove(entry));
+ assertEquals(1, fdata.getEntryCount());
+ assertFalse(fdata.remove(entry));
+ assertTrue(fdata.remove(0));
+ }
+ //End overwrite methods to insure data is removed from the original DataSet
+
+ //Overwrite to ensure the data returned has all the filters applied
+ public void testGetColumn() {
+ assertNull(fdata.getColumn(-3));
+ assertNull(fdata.getColumn(10));
+
+ assertNull(fdata.getColumn(-3, 0, 1));
+ assertNull(fdata.getColumn(10, 0, 1));
+ assertNull(fdata.getColumn(1, 3, 1));
+ assertNull(fdata.getColumn(1, -2, 1));
+ assertNull(fdata.getColumn(1, 0, 20));
+
+ Object[] col = fdata.getColumn(0);
+ assertEquals(2, col.length);
+ assertSame("1", col[0]);
+ assertSame("4", col[1]);
+
+ col = fdata.getColumn(RowDataSet.COL_ROW_NUM);
+ assertEquals(2, col.length);
+ assertEquals("1", col[0].toString());
+ assertEquals("2", col[1].toString());
+
+ col = fdata.getColumn(1, 0, 1);
+ assertEquals(1, col.length);
+ assertSame("2", col[0]);
+ }
+
+ public void testGetRow() {
+ assertNull(fdata.getRow(-3));
+ assertNull(fdata.getRow(10));
+
+ Object[] row = fdata.getRow(1);
+ assertEquals(3, row.length);
+ assertSame("5", row[1]);
+ }
+
+ public void testGetHistoricalData() {
+ assertNull(fdata.getHistoricalData(null, -3));
+ assertNull(fdata.getHistoricalData(null, 10));
+
+ assertNull(fdata.getHistoricalData(null, -3, 0, 1));
+ assertNull(fdata.getHistoricalData(null, 10, 0, 1));
+ assertNull(fdata.getHistoricalData(null, 1, 3, 1));
+ assertNull(fdata.getHistoricalData(null, 1, -2, 1));
+ assertNull(fdata.getHistoricalData(null, 1, 0, 20));
+
+ Object[] col = fdata.getHistoricalData(null, 0);
+ assertEquals(2, col.length);
+ assertSame("1", col[0]);
+ assertSame("4", col[1]);
+
+ col = fdata.getHistoricalData(null, RowDataSet.COL_ROW_NUM);
+ assertEquals(2, col.length);
+ assertEquals("1", col[0].toString());
+ assertEquals("2", col[1].toString());
+
+ col = fdata.getHistoricalData(null, 1, 0, 1);
+ assertEquals(1, col.length);
+ assertSame("2", col[0]);
+ }
+
+ public void testGetEntryCount() {
+ assertEquals(2, fdata.getEntryCount());
+ }
+
+ public void testGetEntry() {
+ assertNull(fdata.getEntry(-1));
+ assertNull(fdata.getEntry(20));
+ assertEquals(entry0, data.getEntry(0));
+ }
+ //End overwrite to ensure the data returned has all the filters applied
+
+ //IFilteredDataSet Methods
+ public void testAddFilter() {
+ data.remove(0);
+ data.remove(0);
+
+ RowEntry entry;
+
+ entry = new RowEntry();
+ entry.putRow(0, new Integer[] {new Integer(3), new Integer(2), new Integer(5)});
+ data.append(entry);
+ entry = new RowEntry();
+ entry.putRow(0, new Integer[] {new Integer(4), new Integer(2), new Integer(3)});
+ data.append(entry);
+ entry = new RowEntry();
+ entry.putRow(0, new Integer[] {new Integer(7), new Integer(2), new Integer(9)});
+ data.append(entry);
+ entry = new RowEntry();
+ entry.putRow(0, new Integer[] {new Integer(2), new Integer(2), new Integer(6)});
+ data.append(entry);
+ entry = new RowEntry();
+ entry.putRow(0, new Integer[] {new Integer(5), new Integer(2), new Integer(2)});
+ data.append(entry);
+
+ fdata.addFilter(new RangeFilter(0, new Integer(3), new Integer(5), RangeFilter.INCLUSIVE | RangeFilter.INSIDE_BOUNDS));
+
+ assertEquals(3, fdata.getRowCount());
+ Object[] row = fdata.getRow(1);
+ assertEquals(4, ((Integer)row[0]).intValue());
+ assertEquals(3, ((Integer)row[2]).intValue());
+
+ row = fdata.getRow(2);
+ assertEquals(5, ((Integer)row[0]).intValue());
+ assertEquals(2, ((Integer)row[1]).intValue());
+
+
+ fdata.addFilter(new SortFilter(2, SortFilter.ASCENDING));
+
+ assertEquals(3, fdata.getRowCount());
+ row = fdata.getRow(0);
+ assertEquals(5, ((Integer)row[0]).intValue());
+ assertEquals(2, ((Integer)row[2]).intValue());
+
+ row = fdata.getRow(1);
+ assertEquals(4, ((Integer)row[0]).intValue());
+ assertEquals(3, ((Integer)row[2]).intValue());
+ }
+
+ public void testRemoveFilter() {
+ data.remove(0);
+ data.remove(0);
+
+ RowEntry entry;
+
+ entry = new RowEntry();
+ entry.putRow(0, new Integer[] {new Integer(3), new Integer(2), new Integer(5)});
+ data.append(entry);
+ entry = new RowEntry();
+ entry.putRow(0, new Integer[] {new Integer(4), new Integer(2), new Integer(3)});
+ data.append(entry);
+ entry = new RowEntry();
+ entry.putRow(0, new Integer[] {new Integer(7), new Integer(2), new Integer(9)});
+ data.append(entry);
+ entry = new RowEntry();
+ entry.putRow(0, new Integer[] {new Integer(2), new Integer(2), new Integer(6)});
+ data.append(entry);
+ entry = new RowEntry();
+ entry.putRow(0, new Integer[] {new Integer(5), new Integer(2), new Integer(2)});
+ data.append(entry);
+
+ RangeFilter filter = new RangeFilter(0, new Integer(3), new Integer(5), RangeFilter.INCLUSIVE | RangeFilter.INSIDE_BOUNDS);
+ fdata.addFilter(filter);
+ fdata.addFilter(new SortFilter(2, SortFilter.ASCENDING));
+ fdata.removeFilter(filter);
+
+
+ assertEquals(5, fdata.getRowCount());
+ Object[] row = fdata.getRow(0);
+ assertEquals(5, ((Integer)row[0]).intValue());
+ assertEquals(2, ((Integer)row[2]).intValue());
+
+ row = fdata.getRow(1);
+ assertEquals(4, ((Integer)row[0]).intValue());
+ assertEquals(3, ((Integer)row[2]).intValue());
+ }
+
+ public void testClearFilters() {
+ data.remove(0);
+ data.remove(0);
+
+ RowEntry entry;
+
+ entry = new RowEntry();
+ entry.putRow(0, new Integer[] {new Integer(3), new Integer(2), new Integer(5)});
+ data.append(entry);
+ entry = new RowEntry();
+ entry.putRow(0, new Integer[] {new Integer(4), new Integer(2), new Integer(3)});
+ data.append(entry);
+ entry = new RowEntry();
+ entry.putRow(0, new Integer[] {new Integer(7), new Integer(2), new Integer(9)});
+ data.append(entry);
+ entry = new RowEntry();
+ entry.putRow(0, new Integer[] {new Integer(2), new Integer(2), new Integer(6)});
+ data.append(entry);
+ entry = new RowEntry();
+ entry.putRow(0, new Integer[] {new Integer(5), new Integer(2), new Integer(2)});
+ data.append(entry);
+
+ RangeFilter filter = new RangeFilter(0, new Integer(3), new Integer(5), RangeFilter.INCLUSIVE | RangeFilter.INSIDE_BOUNDS);
+ fdata.addFilter(filter);
+ fdata.addFilter(new SortFilter(2, SortFilter.ASCENDING));
+
+ fdata.clearFilters();
+
+ assertEquals(5, fdata.getRowCount());
+ Object[] row = fdata.getRow(0);
+ assertEquals(3, ((Integer)row[0]).intValue());
+ assertEquals(5, ((Integer)row[2]).intValue());
+
+ row = fdata.getRow(1);
+ assertEquals(4, ((Integer)row[0]).intValue());
+ assertEquals(3, ((Integer)row[2]).intValue());
+ }
+
+ public void testGetFilters() {
+ assertEquals(0, fdata.getFilters().length);
+
+ RangeFilter filter1 = new RangeFilter(0, new Integer(3), new Integer(5), RangeFilter.INCLUSIVE | RangeFilter.INSIDE_BOUNDS);
+ SortFilter filter2 = new SortFilter(2, SortFilter.ASCENDING);
+
+ fdata.addFilter(filter1);
+ fdata.addFilter(filter2);
+
+ IDataSetFilter[] filters = fdata.getFilters();
+ assertEquals(2, filters.length);
+ }
+
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ }
+
+ private RowDataSet data;
+ private FilteredRowDataSet fdata;
+ private RowEntry entry0;
+}
diff --git a/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/datasets/row/RowDataSetTest.java b/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/datasets/row/RowDataSetTest.java
new file mode 100644
index 0000000000..7cabb6e0d2
--- /dev/null
+++ b/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/datasets/row/RowDataSetTest.java
@@ -0,0 +1,157 @@
+package org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests.datasets.row;
+
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.datasets.IDataEntry;
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.datasets.row.RowDataSet;
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.datasets.row.RowEntry;
+
+import junit.framework.TestCase;
+
+public class RowDataSetTest extends TestCase {
+ public RowDataSetTest(String name) {
+ super(name);
+ }
+
+ protected void setUp() throws Exception {
+ super.setUp();
+
+ data = new RowDataSet(new String[] {"a", "b", "c"});
+ entry0 = new RowEntry();
+ entry0.putRow(0, new String[] {"1", "2", "3"});
+ data.setData(entry0);
+ RowEntry entry = new RowEntry();
+ entry.putRow(0, new String[] {"4", "5", "6"});
+ data.setData(entry);
+ }
+
+ public void testSetData() {
+ assertEquals(2, data.getEntryCount());
+ RowEntry entry = new RowEntry();
+ entry.putRow(0, new String[] {"1", "2", "3"});
+ data.setData(entry);
+ assertEquals(3, data.getEntryCount());
+ }
+
+ public void testAppend() {
+ assertEquals(2, data.getEntryCount());
+ RowEntry entry = new RowEntry();
+ entry.putRow(0, new String[] {"1", "2", "3"});
+ data.append(entry);
+ assertEquals(3, data.getEntryCount());
+ }
+
+ public void testGetTitles() {
+ String[] titles = data.getTitles();
+ assertEquals(3, titles.length);
+ assertSame("a", titles[0]);
+ }
+
+ public void testGetColumn() {
+ assertNull(data.getColumn(-3));
+ assertNull(data.getColumn(10));
+
+ assertNull(data.getColumn(-3, 0, 1));
+ assertNull(data.getColumn(10, 0, 1));
+ assertNull(data.getColumn(1, 3, 1));
+ assertNull(data.getColumn(1, -2, 1));
+ assertNull(data.getColumn(1, 0, 20));
+
+ Object[] col = data.getColumn(0);
+ assertEquals(2, col.length);
+ assertSame("1", col[0]);
+ assertSame("4", col[1]);
+
+ col = data.getColumn(RowDataSet.COL_ROW_NUM);
+ assertEquals(2, col.length);
+ assertEquals("1", col[0].toString());
+ assertEquals("2", col[1].toString());
+
+ col = data.getColumn(1, 0, 1);
+ assertEquals(1, col.length);
+ assertSame("2", col[0]);
+ }
+
+ public void testGetRow() {
+ assertNull(data.getRow(-3));
+ assertNull(data.getRow(10));
+
+ Object[] row = data.getRow(1);
+ assertEquals(3, row.length);
+ assertSame("5", row[1]);
+ }
+
+ public void testGetRowCount() {
+ assertEquals(2, data.getRowCount());
+ }
+
+ public void testGetColCount() {
+ assertEquals(3, data.getColCount());
+
+ assertEquals(-1, new RowDataSet(null).getColCount());
+ }
+
+ public void testReadFromFile() {}
+
+ public void testWriteToFile() {}
+
+ public void testGetID() {
+ assertEquals(RowDataSet.ID, data.getID());
+ }
+ //End IDataSet Methods
+
+ //IHistoricalDataSet Methods
+ public void testGetHistoricalData() {
+ assertNull(data.getHistoricalData(null, -3));
+ assertNull(data.getHistoricalData(null, 10));
+
+ assertNull(data.getHistoricalData(null, -3, 0, 1));
+ assertNull(data.getHistoricalData(null, 10, 0, 1));
+ assertNull(data.getHistoricalData(null, 1, 3, 1));
+ assertNull(data.getHistoricalData(null, 1, -2, 1));
+ assertNull(data.getHistoricalData(null, 1, 0, 20));
+
+ Object[] col = data.getHistoricalData(null, 0);
+ assertEquals(2, col.length);
+ assertSame("1", col[0]);
+ assertSame("4", col[1]);
+
+ col = data.getHistoricalData(null, RowDataSet.COL_ROW_NUM);
+ assertEquals(2, col.length);
+ assertEquals("1", col[0].toString());
+ assertEquals("2", col[1].toString());
+
+ col = data.getHistoricalData(null, 1, 0, 1);
+ assertEquals(1, col.length);
+ assertSame("2", col[0]);
+ }
+
+ public void testGetEntryCount() {
+ assertEquals(2, data.getEntryCount());
+ }
+
+ public void testRemove() {
+ assertFalse(data.remove(null));
+ assertFalse(data.remove(new RowEntry()));
+ assertFalse(data.remove(-1));
+ assertFalse(data.remove(10));
+ assertEquals(2, data.getEntryCount());
+
+ IDataEntry entry = data.getEntry(0);
+ assertTrue(data.remove(entry));
+ assertEquals(1, data.getEntryCount());
+ assertFalse(data.remove(entry));
+ assertTrue(data.remove(0));
+ }
+
+ public void testGetEntry() {
+ assertNull(data.getEntry(-1));
+ assertNull(data.getEntry(20));
+ assertEquals(entry0, data.getEntry(0));
+ }
+
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ }
+
+ RowDataSet data;
+ RowEntry entry0;
+}
diff --git a/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/datasets/row/RowEntryTest.java b/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/datasets/row/RowEntryTest.java
new file mode 100644
index 0000000000..4f747fc3ff
--- /dev/null
+++ b/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/datasets/row/RowEntryTest.java
@@ -0,0 +1,109 @@
+package org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests.datasets.row;
+
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.datasets.IDataEntry;
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.datasets.row.RowEntry;
+
+import junit.framework.TestCase;
+
+public class RowEntryTest extends TestCase {
+ public RowEntryTest(String name) {
+ super(name);
+ }
+
+ protected void setUp() throws Exception {
+ super.setUp();
+
+ entry = new RowEntry();
+ data = new Integer[] {new Integer(2), new Integer(5), new Integer(4)};
+ entry.putRow(0, data);
+ }
+
+ public void testGetRowCount() {
+ RowEntry entry2 = new RowEntry();
+ assertEquals(0, entry2.getRowCount());
+
+ entry2 = new RowEntry();
+ entry2.putRow(0, null);
+ assertEquals(0, entry2.getRowCount());
+
+ assertEquals(1, entry.getRowCount());
+ }
+
+ public void testGetColCount() {
+ RowEntry entry2 = new RowEntry();
+ assertEquals(0, entry2.getColCount());
+
+ entry2 = new RowEntry();
+ entry2.putRow(0, null);
+ assertEquals(0, entry2.getColCount());
+
+ assertEquals(3, entry.getColCount());
+ }
+
+ public void testGet() {
+ assertEquals(data[1], entry.get(null, 1));
+ assertEquals(data[1], entry.get("asdf", 1));
+ assertNull(entry.get(null, 10));
+ assertNull(entry.get(null, -1));
+ }
+
+ public void testGetRow() {
+ assertEquals(data, entry.getRow(0));
+ assertNull(entry.getRow(10));
+ assertNull(entry.getRow(-1));
+
+ assertEquals(data, entry.getRow(null));
+ assertEquals(data, entry.getRow("asdf"));
+ }
+
+ public void testGetColumn() {
+ assertEquals(data[1], entry.getColumn(1)[0]);
+ assertNull(entry.getColumn(10));
+ assertNull(entry.getColumn(-1));
+ }
+
+ public void testGetData() {
+ assertEquals(data[0], entry.getData()[0][0]);
+ assertEquals(data[1], entry.getData()[0][1]);
+ }
+
+ public void testCopy() {
+ IDataEntry entry2 = entry.copy();
+ assertEquals(entry2.getRowCount(), entry.getRowCount());
+ assertEquals(entry2.getColCount(), entry.getColCount());
+ assertSame(entry2.getRow(0)[1], entry.getRow(0)[1]);
+ }
+
+ public void testPutRow() {
+ Integer[] data2 = new Integer[] {new Integer(2), new Integer(5)};
+
+ //Can't add to -1 position
+ entry.putRow(-1, data2);
+ assertEquals(3, entry.getColCount());
+
+ //Cant add to non 0 position
+ entry.putRow(10, data2);
+ assertEquals(3, entry.getColCount());
+
+ //Add successful
+ entry.putRow(0, data2);
+ assertEquals(2, entry.getColCount());
+ }
+
+ public void testRemove() {
+ assertFalse(entry.remove(-1));
+ assertEquals(3, entry.getColCount());
+ assertFalse(entry.remove(10));
+ assertEquals(3, entry.getColCount());
+
+ assertTrue(entry.remove(0));
+ assertEquals(0, entry.getColCount());
+ }
+
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ }
+
+ RowEntry entry;
+ Integer[] data;
+} \ No newline at end of file
diff --git a/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/datasets/row/RowParserTest.java b/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/datasets/row/RowParserTest.java
new file mode 100644
index 0000000000..6158edaec4
--- /dev/null
+++ b/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/datasets/row/RowParserTest.java
@@ -0,0 +1,66 @@
+package org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests.datasets.row;
+
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.datasets.IDataEntry;
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.datasets.row.RowDataSet;
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.datasets.row.RowParser;
+import org.eclipse.ui.IMemento;
+import org.eclipse.ui.XMLMemento;
+
+
+import junit.framework.TestCase;
+
+public class RowParserTest extends TestCase {
+ public RowParserTest(String name) {
+ super(name);
+ }
+
+ protected void setUp() throws Exception {
+ super.setUp();
+
+ parser = new RowParser(new String[] {"\\d+", "(\\D+)", "\\d+", "\\D+"});
+
+ IMemento m = XMLMemento.createWriteRoot("a");
+ parser.saveXML(m);
+ parser2 = new RowParser(m);
+ }
+
+ public void testParse() {
+ assertNull(parser.parse(null));
+ assertNull(parser.parse(new StringBuilder("")));
+ assertNull(parser.parse(new StringBuilder("asdf")));
+ assertNull(parser.parse(new StringBuilder("1, ")));
+ assertNull(parser.parse(new StringBuilder("1, 3")));
+
+ IDataEntry entry = parser.parse(new StringBuilder("1, (2), 3, 4, 5"));
+ assertNotNull(entry);
+ assertEquals(2, entry.getColCount());
+ assertEquals(1, entry.getRowCount());
+ assertEquals("1", entry.getRow(0)[0]);
+
+ entry = parser2.parse(new StringBuilder("1, 2, 3, 4, 5"));
+ assertNotNull(entry);
+ assertEquals(2, entry.getColCount());
+ assertEquals(1, entry.getRowCount());
+ assertEquals("1", entry.getRow(0)[0]);
+ }
+
+ public void testSaveXML() {
+ IMemento m = XMLMemento.createWriteRoot("a");
+ parser.saveXML(m);
+ assertSame(RowDataSet.ID, m.getString("dataset"));
+
+ IMemento[] children = m.getChildren("Series");
+ assertEquals(2, children.length);
+ assertSame("\\d+", children[0].getString("parsingExpression"));
+ assertSame("(\\D+)", children[0].getString("parsingSpacer"));
+ assertSame("\\d+", children[1].getString("parsingExpression"));
+ assertSame("\\D+", children[1].getString("parsingSpacer"));
+ }
+
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ }
+
+ RowParser parser;
+ RowParser parser2;
+}
diff --git a/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/datasets/table/FilteredTableDataSetTest.java b/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/datasets/table/FilteredTableDataSetTest.java
new file mode 100644
index 0000000000..16ab53c76f
--- /dev/null
+++ b/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/datasets/table/FilteredTableDataSetTest.java
@@ -0,0 +1,267 @@
+package org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests.datasets.table;
+
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.datasets.row.RowDataSet;
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.datasets.row.RowEntry;
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.datasets.table.FilteredTableDataSet;
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.datasets.table.TableDataSet;
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.datasets.table.TableEntry;
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.filters.IDataSetFilter;
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.filters.RangeFilter;
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.filters.SortFilter;
+
+import junit.framework.TestCase;
+
+public class FilteredTableDataSetTest extends TestCase {
+ public FilteredTableDataSetTest(String name) {
+ super(name);
+ }
+
+ protected void setUp() throws Exception {
+ super.setUp();
+ data = new TableDataSet(new String[] {"a", "b", "c"});
+ dataSet = new FilteredTableDataSet(data);
+ }
+
+ public void testFilteredDataSet() {
+ FilteredTableDataSet fds = new FilteredTableDataSet(new String[] {"a", "b", "c"});
+ assertNotNull(fds);
+ assertNotNull(fds.getTitles());
+ }
+
+ public void testAppend() {
+ TableEntry entry;
+
+ entry = new TableEntry();
+ entry.add(new Integer[] {new Integer(3), new Integer(2), new Integer(5)});
+ dataSet.append(entry);
+ entry = new TableEntry();
+ entry.add(new Integer[] {new Integer(4), new Integer(2), new Integer(3)});
+ dataSet.append(entry);
+ entry = new TableEntry();
+ entry.add(new Integer[] {new Integer(7), new Integer(2), new Integer(9)});
+ dataSet.append(entry);
+ entry = new TableEntry();
+ entry.add(new Integer[] {new Integer(2), new Integer(2), new Integer(6)});
+ dataSet.append(entry);
+ entry = new TableEntry();
+ entry.add(new Integer[] {new Integer(5), new Integer(2), new Integer(2)});
+ dataSet.append(entry);
+
+ Object[] row = dataSet.getRow(0);
+ assertEquals(5, ((Integer)row[0]).intValue());
+ assertEquals(2, ((Integer)row[2]).intValue());
+
+ assertNull(dataSet.getRow(2));
+ }
+
+ public void testRemove() {
+ assertFalse(dataSet.remove(null));
+ assertFalse(dataSet.remove(new RowEntry()));
+ assertFalse(dataSet.remove(-1));
+ assertFalse(dataSet.remove(10));
+ assertEquals(0, dataSet.getEntryCount());
+
+ TableEntry entry= new TableEntry();
+ entry.add(new String[] {"1", "2", "3"});
+ data.append(entry);
+
+ entry = (TableEntry)data.getEntry(0);
+ assertEquals(1, dataSet.getEntryCount());
+ assertTrue(dataSet.remove(entry));
+ assertEquals(0, dataSet.getEntryCount());
+ assertFalse(dataSet.remove(entry));
+ assertFalse(dataSet.remove(0));
+ }
+ //End overwrite methods to insure data is removed from the original DataSet
+ public void testGetHistoricalData() {
+ TableEntry entry = new TableEntry();
+ entry.putRow(0, new String[] {"1", "2", "3"});
+ dataSet.setData(entry);
+ entry = new TableEntry();
+ entry.putRow(0, new String[] {"4", "5", "6"});
+ dataSet.setData(entry);
+
+ assertNull(dataSet.getHistoricalData(null, -3));
+ assertNull(dataSet.getHistoricalData(null, 10));
+
+ assertNull(dataSet.getHistoricalData(null, -3, 0, 1));
+ assertNull(dataSet.getHistoricalData(null, 10, 0, 1));
+ assertNull(dataSet.getHistoricalData(null, 1, 3, 1));
+ assertNull(dataSet.getHistoricalData(null, 1, -2, 1));
+ assertNull(dataSet.getHistoricalData(null, 1, 0, 20));
+
+ Object[] col = dataSet.getHistoricalData(null, 0);
+ assertEquals(2, col.length);
+ assertEquals("0", col[0].toString());
+ assertEquals("0", col[1].toString());
+
+ col = dataSet.getHistoricalData(null, TableDataSet.COL_ROW_NUM);
+ assertEquals(2, col.length);
+ assertEquals("1", col[0].toString());
+ assertEquals("2", col[1].toString());
+
+ col = dataSet.getHistoricalData("4", 1, 1, 2);
+ assertEquals(1, col.length);
+ assertSame("5", col[0]);
+ }
+
+ public void testGetEntryCount() {
+ assertEquals(0, dataSet.getEntryCount());
+ }
+
+ public void testGetEntry() {
+ assertNull(dataSet.getEntry(-1));
+ assertNull(dataSet.getEntry(20));
+ }
+
+ public void testGetData() {
+ TableEntry entry= new TableEntry();
+ entry.add(new String[] {"1", "2", "3"});
+ data.append(entry);
+
+ Object[][] d = dataSet.getData();
+ assertNotNull(d);
+ assertEquals(1, d.length);
+ assertEquals("3", d[0][2]);
+ }
+
+ //Overwrite to ensure the data returned has all the filters applied
+ public void testGetColumn() {
+ TableEntry entry= new TableEntry();
+ entry.add(new String[] {"1", "2", "3"});
+ data.append(entry);
+
+ assertNull(dataSet.getColumn(-3));
+ assertNull(dataSet.getColumn(10));
+
+ assertNull(dataSet.getColumn(-3, 0, 1));
+ assertNull(dataSet.getColumn(10, 0, 1));
+ assertNull(dataSet.getColumn(1, 3, 1));
+ assertNull(dataSet.getColumn(1, -2, 1));
+ assertNull(dataSet.getColumn(1, 0, 20));
+
+ Object[] col = dataSet.getColumn(0);
+ assertEquals(1, col.length);
+ assertSame("1", col[0]);
+
+ col = dataSet.getColumn(RowDataSet.COL_ROW_NUM);
+ assertEquals(1, col.length);
+ assertEquals("1", col[0].toString());
+
+ col = dataSet.getColumn(1, 0, 1);
+ assertEquals(1, col.length);
+ assertSame("2", col[0]);
+ }
+
+ public void testAddFilter() {
+ TableEntry entry;
+
+ entry = new TableEntry();
+ entry.add(new Integer[] {new Integer(3), new Integer(2), new Integer(5)});
+ dataSet.append(entry);
+ entry = new TableEntry();
+ entry.add(new Integer[] {new Integer(4), new Integer(2), new Integer(3)});
+ dataSet.append(entry);
+ entry = new TableEntry();
+ entry.add(new Integer[] {new Integer(7), new Integer(2), new Integer(9)});
+ dataSet.append(entry);
+ entry = new TableEntry();
+ entry.add(new Integer[] {new Integer(2), new Integer(2), new Integer(6)});
+ dataSet.append(entry);
+ entry = new TableEntry();
+ entry.add(new Integer[] {new Integer(5), new Integer(2), new Integer(2)});
+ dataSet.append(entry);
+
+ dataSet.addFilter(new RangeFilter(0, new Integer(3), new Integer(4), RangeFilter.INCLUSIVE | RangeFilter.INSIDE_BOUNDS));
+ assertEquals(0, dataSet.getRowCount());
+ dataSet.clearFilters();
+ dataSet.addFilter(new RangeFilter(0, new Integer(3), new Integer(5), RangeFilter.INCLUSIVE | RangeFilter.INSIDE_BOUNDS));
+
+ assertEquals(1, dataSet.getRowCount());
+ Object[] row = dataSet.getRow(0);
+ assertEquals(5, ((Integer)row[0]).intValue());
+ assertEquals(2, ((Integer)row[2]).intValue());
+ }
+
+ public void testRemoveFilter() {
+ TableEntry entry;
+
+ entry = new TableEntry();
+ entry.add(new Integer[] {new Integer(3), new Integer(2), new Integer(5)});
+ dataSet.append(entry);
+ entry = new TableEntry();
+ entry.add(new Integer[] {new Integer(4), new Integer(2), new Integer(3)});
+ dataSet.append(entry);
+ entry = new TableEntry();
+ entry.add(new Integer[] {new Integer(7), new Integer(2), new Integer(9)});
+ dataSet.append(entry);
+ entry = new TableEntry();
+ entry.add(new Integer[] {new Integer(2), new Integer(2), new Integer(6)});
+ dataSet.append(entry);
+ entry = new TableEntry();
+ entry.add(new Integer[] {new Integer(5), new Integer(2), new Integer(2)});
+ dataSet.append(entry);
+
+ RangeFilter filter = new RangeFilter(0, new Integer(3), new Integer(5), RangeFilter.INCLUSIVE | RangeFilter.INSIDE_BOUNDS);
+ dataSet.addFilter(filter);
+ dataSet.addFilter(new SortFilter(2, SortFilter.ASCENDING));
+ dataSet.removeFilter(filter);
+
+ assertEquals(1, dataSet.getRowCount());
+ Object[] row = dataSet.getRow(0);
+ assertEquals(5, ((Integer)row[0]).intValue());
+ assertEquals(2, ((Integer)row[2]).intValue());
+ }
+
+ public void testClearFilters() {
+ TableEntry entry;
+
+ entry = new TableEntry();
+ entry.add(new Integer[] {new Integer(3), new Integer(2), new Integer(5)});
+ dataSet.append(entry);
+ entry = new TableEntry();
+ entry.add(new Integer[] {new Integer(4), new Integer(2), new Integer(3)});
+ dataSet.append(entry);
+ entry = new TableEntry();
+ entry.add(new Integer[] {new Integer(7), new Integer(2), new Integer(9)});
+ dataSet.append(entry);
+ entry = new TableEntry();
+ entry.add(new Integer[] {new Integer(2), new Integer(2), new Integer(6)});
+ dataSet.append(entry);
+ entry = new TableEntry();
+ entry.add(new Integer[] {new Integer(5), new Integer(2), new Integer(2)});
+ dataSet.append(entry);
+
+ dataSet.addFilter(new RangeFilter(0, new Integer(3), new Integer(5), RangeFilter.INCLUSIVE | RangeFilter.INSIDE_BOUNDS));
+ dataSet.addFilter(new SortFilter(2, SortFilter.ASCENDING));
+
+ assertEquals(2, dataSet.getFilters().length);
+ dataSet.clearFilters();
+
+ assertEquals(1, dataSet.getRowCount());
+ Object[] row = dataSet.getRow(0);
+ assertEquals(5, ((Integer)row[0]).intValue());
+ assertEquals(2, ((Integer)row[2]).intValue());
+ assertEquals(0, dataSet.getFilters().length);
+ }
+
+ public void testGetFilters() {
+ assertEquals(0, dataSet.getFilters().length);
+
+ RangeFilter filter1 = new RangeFilter(0, new Integer(3), new Integer(5), RangeFilter.INCLUSIVE | RangeFilter.INSIDE_BOUNDS);
+ SortFilter filter2 = new SortFilter(2, SortFilter.ASCENDING);
+
+ dataSet.addFilter(filter1);
+ dataSet.addFilter(filter2);
+
+ IDataSetFilter[] filters = dataSet.getFilters();
+ assertEquals(2, filters.length);
+ }
+
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ }
+
+ FilteredTableDataSet dataSet;
+ TableDataSet data;
+}
diff --git a/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/datasets/table/TableDataSetTest.java b/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/datasets/table/TableDataSetTest.java
new file mode 100644
index 0000000000..2f1f00c5b9
--- /dev/null
+++ b/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/datasets/table/TableDataSetTest.java
@@ -0,0 +1,164 @@
+package org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests.datasets.table;
+
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.datasets.IDataEntry;
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.datasets.table.TableDataSet;
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.datasets.table.TableEntry;
+
+import junit.framework.TestCase;
+
+public class TableDataSetTest extends TestCase {
+ public TableDataSetTest(String name) {
+ super(name);
+ }
+
+ protected void setUp() throws Exception {
+ super.setUp();
+
+ data = new TableDataSet(new String[] {"a", "b", "c"});
+ entry0 = new TableEntry();
+ entry0.putRow(0, new String[] {"1", "2", "3"});
+ data.setData(entry0);
+ TableEntry entry = new TableEntry();
+ entry.putRow(0, new String[] {"4", "5", "6"});
+ data.setData(entry);
+ }
+
+ public void testSetData() {
+ assertEquals(2, data.getEntryCount());
+ TableEntry entry = new TableEntry();
+ entry.putRow(0, new String[] {"1", "2", "3"});
+ data.setData(entry);
+ assertEquals(3, data.getEntryCount());
+ }
+
+ public void testAppend() {
+ assertEquals(2, data.getEntryCount());
+ TableEntry entry = new TableEntry();
+ entry.putRow(0, new String[] {"1", "2", "3"});
+ data.append(entry);
+ assertEquals(3, data.getEntryCount());
+ }
+
+ public void testGetTitles() {
+ String[] titles = data.getTitles();
+ assertEquals(3, titles.length);
+ assertSame("a", titles[0]);
+ }
+
+ public void testGetColumn() {
+ assertNull(data.getColumn(-3));
+ assertNull(data.getColumn(10));
+
+ assertNull(data.getColumn(-3, 0, 1));
+ assertNull(data.getColumn(10, 0, 1));
+ assertNull(data.getColumn(1, 3, 1));
+ assertNull(data.getColumn(1, -2, 1));
+ assertNull(data.getColumn(1, 0, 20));
+
+ Object[] col = data.getColumn(0);
+ assertEquals(1, col.length);
+ assertSame("4", col[0]);
+
+ col = data.getColumn(TableDataSet.COL_ROW_NUM);
+ assertEquals(1, col.length);
+ assertEquals("1", col[0].toString());
+
+ col = data.getColumn(1, 0, 1);
+ assertEquals(1, col.length);
+ assertSame("5", col[0]);
+ }
+
+ public void testGetRow() {
+ assertNull(data.getRow(-3));
+ assertNull(data.getRow(10));
+
+ assertNull(data.getRow(1));
+
+ Object[] row = data.getRow(0);
+ assertEquals(3, row.length);
+ assertSame("5", row[1]);
+ }
+
+ public void testGetRowCount() {
+ assertEquals(1, data.getRowCount());
+ }
+
+ public void testGetColCount() {
+ assertEquals(3, data.getColCount());
+
+ assertEquals(0, new TableDataSet(null).getColCount());
+ }
+
+ public void testReadFromFile() {}
+
+ public void testWriteToFile() {}
+
+ public void testGetID() {
+ assertEquals(TableDataSet.ID, data.getID());
+ }
+ //End IDataSet Methods
+
+ //IHistoricalDataSet Methods
+ public void testGetHistoricalData() {
+ assertNull(data.getHistoricalData(null, -3));
+ assertNull(data.getHistoricalData(null, 10));
+
+ assertNull(data.getHistoricalData(null, -3, 0, 1));
+ assertNull(data.getHistoricalData(null, 10, 0, 1));
+ assertNull(data.getHistoricalData(null, 1, 3, 1));
+ assertNull(data.getHistoricalData(null, 1, -2, 1));
+ assertNull(data.getHistoricalData(null, 1, 0, 20));
+
+ Object[] col = data.getHistoricalData(null, 0);
+ assertEquals(2, col.length);
+ assertEquals("0", col[0].toString());
+ assertEquals("0", col[1].toString());
+
+ col = data.getHistoricalData(null, TableDataSet.COL_ROW_NUM);
+ assertEquals(2, col.length);
+ assertEquals("1", col[0].toString());
+ assertEquals("2", col[1].toString());
+
+ col = data.getHistoricalData("4", 1, 1, 2);
+ assertEquals(1, col.length);
+ assertSame("5", col[0]);
+ }
+
+ public void testGetEntryCount() {
+ assertEquals(2, data.getEntryCount());
+ }
+
+ public void testRemove() {
+ assertFalse(data.remove(null));
+ assertFalse(data.remove(new TableEntry()));
+ assertFalse(data.remove(-1));
+ assertFalse(data.remove(10));
+ assertEquals(2, data.getEntryCount());
+
+ IDataEntry entry = data.getEntry(0);
+ assertTrue(data.remove(entry));
+ assertEquals(1, data.getEntryCount());
+ assertFalse(data.remove(entry));
+ assertTrue(data.remove(0));
+ }
+
+ public void testGetEntry() {
+ assertNull(data.getEntry(-1));
+ assertNull(data.getEntry(20));
+ assertEquals(entry0, data.getEntry(0));
+ }
+
+ public void testGetData() {
+ Object[][] d = data.getData();
+ assertNotNull(d);
+ assertEquals(1, d.length);
+ assertEquals("6", d[0][2]);
+ }
+
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ }
+
+ TableDataSet data;
+ TableEntry entry0;
+}
diff --git a/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/datasets/table/TableEntryTest.java b/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/datasets/table/TableEntryTest.java
new file mode 100644
index 0000000000..a42dab9d42
--- /dev/null
+++ b/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/datasets/table/TableEntryTest.java
@@ -0,0 +1,125 @@
+package org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests.datasets.table;
+
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.datasets.IDataEntry;
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.datasets.table.TableEntry;
+
+import junit.framework.TestCase;
+
+public class TableEntryTest extends TestCase {
+ public TableEntryTest(String name) {
+ super(name);
+ }
+
+ protected void setUp() throws Exception {
+ super.setUp();
+
+ entry = new TableEntry();
+ data = new Integer[] {new Integer(2), new Integer(5), new Integer(4)};
+ entry.add(data);
+ data = new Integer[] {new Integer(5), new Integer(1), new Integer(3)};
+ entry.add(data);
+ }
+
+ public void testGetRowCount() {
+ TableEntry entry2 = new TableEntry();
+ assertEquals(0, entry2.getRowCount());
+
+ entry2 = new TableEntry();
+ entry2.putRow(0, null);
+ assertEquals(0, entry2.getRowCount());
+
+ assertEquals(2, entry.getRowCount());
+ }
+
+ public void testGetColCount() {
+ TableEntry entry2 = new TableEntry();
+ assertEquals(0, entry2.getColCount());
+
+ entry2 = new TableEntry();
+ entry2.putRow(0, null);
+ assertEquals(0, entry2.getColCount());
+
+ assertEquals(3, entry.getColCount());
+ }
+
+ public void testGet() {
+ assertNull(entry.get(null, 1));
+ assertNull(entry.get("asdf", 1));
+ assertNull(entry.get(null, 10));
+ assertNull(entry.get(null, -1));
+ assertEquals("5", entry.get("2", 1).toString());
+ }
+
+ public void testGetData() {
+ assertEquals(data[0], entry.getData()[1][0]);
+ assertEquals(data[1], entry.getData()[1][1]);
+ }
+
+ public void testGetRow() {
+ assertNull(entry.getRow(10));
+ assertNull(entry.getRow(-1));
+ assertNotNull(entry.getRow(0));
+ assertEquals(data, entry.getRow(1));
+
+ assertNull(entry.getRow(null));
+ assertNull(entry.getRow("asdf"));
+ assertNotNull(entry.getRow("2"));
+ assertEquals(data, entry.getRow("5"));
+ }
+
+ public void testGetColumn() {
+ assertEquals(data[1], entry.getColumn(1)[1]);
+ assertNull(entry.getColumn(10));
+ assertNull(entry.getColumn(-1));
+ }
+
+ public void testPutRow() {
+ Integer[] data2 = new Integer[] {new Integer(2), new Integer(5)};
+
+ //Can't add to -1 position
+ entry.putRow(-1, data2);
+ assertEquals(2, entry.getRowCount());
+
+ //Cant add wrong sized array
+ entry.putRow(10, data2);
+ assertEquals(2, entry.getRowCount());
+
+ entry.putRow(0, data2);
+ assertEquals(2, entry.getRowCount());
+
+ //Add successful
+ data2 = new Integer[] {new Integer(2), new Integer(5), new Integer(6)};
+ entry.putRow(0, data2);
+ assertEquals(2, entry.getRowCount());
+ }
+
+ public void testAdd() {
+ Integer[] data2 = new Integer[] {new Integer(2), new Integer(5)};
+ entry.add(data2);
+ assertEquals(2, entry.getRowCount());
+
+ //Add successful
+ data2 = new Integer[] {new Integer(2), new Integer(5), new Integer(6)};
+ entry.add(data2);
+ assertEquals(3, entry.getRowCount());
+ }
+
+ public void testCopy() {
+ IDataEntry entry2 = entry.copy();
+ assertEquals(entry2.getRowCount(), entry.getRowCount());
+ assertEquals(entry2.getColCount(), entry.getColCount());
+ assertSame(entry2.getRow(0)[1], entry.getRow(0)[1]);
+ }
+
+ public void testRemove() {
+ assertTrue(entry.remove(0));
+ assertEquals(1, entry.getRowCount());
+ }
+
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ }
+
+ TableEntry entry;
+ Integer[] data;
+} \ No newline at end of file
diff --git a/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/datasets/table/TableParserTest.java b/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/datasets/table/TableParserTest.java
new file mode 100644
index 0000000000..a5f2a64901
--- /dev/null
+++ b/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/datasets/table/TableParserTest.java
@@ -0,0 +1,69 @@
+package org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests.datasets.table;
+
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.datasets.IDataEntry;
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.datasets.table.TableDataSet;
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.datasets.table.TableParser;
+import org.eclipse.ui.IMemento;
+import org.eclipse.ui.XMLMemento;
+
+
+import junit.framework.TestCase;
+
+public class TableParserTest extends TestCase {
+ public TableParserTest(String name) {
+ super(name);
+ }
+
+ protected void setUp() throws Exception {
+ super.setUp();
+
+ parser = new TableParser(new String[] {"\\d+", "(\\D+)", "\\d+", "\\D+"}, "\n\n");
+
+ IMemento m = XMLMemento.createWriteRoot("a");
+ parser.saveXML(m);
+ parser2 = new TableParser(m);
+ }
+
+ public void testParse() {
+ assertNull(parser.parse(null));
+ assertNull(parser.parse(new StringBuilder("")));
+ assertNull(parser.parse(new StringBuilder("asdf")));
+ assertNull(parser.parse(new StringBuilder("1, ")));
+ assertNull(parser.parse(new StringBuilder("1, 3")));
+
+ IDataEntry entry = parser.parse(new StringBuilder("1, (2), 3, 4, 5\n\n"));
+ assertNotNull(entry);
+ assertEquals(2, entry.getColCount());
+ assertEquals(2, entry.getRowCount());
+ assertEquals("1", entry.getRow(0)[0]);
+
+ entry = parser2.parse(new StringBuilder("1, 2, 3, 4, 5\n\n"));
+ assertNotNull(entry);
+ assertEquals(2, entry.getColCount());
+ assertEquals(2, entry.getRowCount());
+ assertEquals("1", entry.getRow(0)[0]);
+ }
+
+ public void testSaveXML() {
+ IMemento m = XMLMemento.createWriteRoot("a");
+ parser.saveXML(m);
+ assertSame(TableDataSet.ID, m.getString("dataset"));
+
+ IMemento[] children = m.getChildren("Series");
+ assertEquals(2, children.length);
+ assertSame("\\d+", children[0].getString("parsingExpression"));
+ assertSame("(\\D+)", children[0].getString("parsingSpacer"));
+ assertSame("\\d+", children[1].getString("parsingExpression"));
+ assertSame("\\D+", children[1].getString("parsingSpacer"));
+
+ IMemento child = m.getChild("Delimiter");
+ assertSame("\n\n", child.getString("parsingExpression"));
+ }
+
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ }
+
+ TableParser parser;
+ TableParser parser2;
+}
diff --git a/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/filters/MatchFilterTest.java b/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/filters/MatchFilterTest.java
new file mode 100644
index 0000000000..2bd69f2b6a
--- /dev/null
+++ b/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/filters/MatchFilterTest.java
@@ -0,0 +1,79 @@
+/*******************************************************************************
+ * Copyright (c) 2006 IBM Corporation.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - Jeff Briggs, Henry Hughes, Ryan Morse
+ *******************************************************************************/
+
+package org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests.filters;
+
+import java.util.ArrayList;
+
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.filters.MatchFilter;
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests.MockDataSet;
+import org.eclipse.ui.XMLMemento;
+
+
+import junit.framework.TestCase;
+
+public class MatchFilterTest extends TestCase {
+ public MatchFilterTest(String name) {
+ super(name);
+ }
+
+ protected void setUp() throws Exception {
+ super.setUp();
+ }
+
+ public void testMatchFilter() {
+ MatchFilter filter = new MatchFilter(-1, null, MatchFilter.KEEP_MATCHING);
+ assertNotNull(filter);
+ }
+
+ public void testFilter() {
+ int width = 4;
+ int height = 10;
+ int wrap = height / 3;
+ ArrayList[] data = MockDataSet.buildArray(width, height, wrap);
+
+ assertEquals(width, data.length);
+ assertEquals(height, data[0].size());
+ MatchFilter filter = new MatchFilter(0, data[0].get(0), MatchFilter.KEEP_MATCHING);
+ ArrayList[] data2 = filter.filter(data);
+
+ assertEquals(width, data.length);
+ assertEquals(height, data[0].size());
+ assertEquals(width, data2.length);
+ assertEquals((int)Math.ceil(height/((double)wrap)), data2[0].size());
+ assertEquals("0", data2[0].get(0));
+ assertEquals("0", data2[0].get(1));
+ assertEquals("0", data2[0].get(2));
+ assertEquals("0", data2[0].get(3));
+
+ assertEquals(data[2].get(0), data2[2].get(0));
+ assertEquals(data[2].get(3), data2[2].get(1));
+ assertEquals(data[2].get(6), data2[2].get(2));
+ assertEquals(data[2].get(9), data2[2].get(3));
+
+ filter = new MatchFilter(-1, "", MatchFilter.KEEP_MATCHING);
+ assertNull(filter.filter(data));
+ }
+
+ public void testGetID() {
+ MatchFilter filter = new MatchFilter(0, "", MatchFilter.KEEP_MATCHING);
+ assertTrue(MatchFilter.ID.equals(filter.getID()));
+ }
+
+ public void testWriteXML() {
+ MatchFilter filter = new MatchFilter(0, "", MatchFilter.KEEP_MATCHING);
+ filter.writeXML(XMLMemento.createWriteRoot("test"));
+ }
+
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ }
+}
diff --git a/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/filters/RangeFilterTest.java b/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/filters/RangeFilterTest.java
new file mode 100644
index 0000000000..faa5982c6e
--- /dev/null
+++ b/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/filters/RangeFilterTest.java
@@ -0,0 +1,139 @@
+/*******************************************************************************
+ * Copyright (c) 2006 IBM Corporation.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - Jeff Briggs, Henry Hughes, Ryan Morse
+ *******************************************************************************/
+
+package org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests.filters;
+
+import java.util.ArrayList;
+
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.filters.RangeFilter;
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests.MockDataSet;
+import org.eclipse.ui.XMLMemento;
+
+
+import junit.framework.TestCase;
+
+public class RangeFilterTest extends TestCase {
+ public RangeFilterTest(String name) {
+ super(name);
+ }
+
+ protected void setUp() throws Exception {
+ super.setUp();
+ filter = new RangeFilter(0, new Integer(1), new Integer(2), RangeFilter.INSIDE_BOUNDS | RangeFilter.INCLUSIVE);
+ }
+
+ public void testRangeFilter() {
+ RangeFilter filter = new RangeFilter(-1, new Integer(3), new Integer(5), RangeFilter.INSIDE_BOUNDS);
+ assertNotNull(filter);
+ }
+
+ public void testFilter() {
+ int width = 4;
+ int height = 10;
+ int wrap = height / 3;
+ ArrayList[] data = MockDataSet.buildArray(width, height, wrap);
+
+ assertEquals(width, data.length);
+ assertEquals(height, data[0].size());
+ ArrayList[] data2 = filter.filter(data);
+
+ assertEquals(width, data.length);
+ assertEquals(height, data[0].size());
+ assertEquals(width, data2.length);
+ assertEquals(6, data2[0].size());
+ assertEquals("1", data2[0].get(0));
+ assertEquals("2", data2[0].get(1));
+ assertEquals("1", data2[0].get(2));
+ assertEquals("2", data2[0].get(3));
+
+ assertEquals(data[2].get(1), data2[2].get(0));
+ assertEquals(data[2].get(2), data2[2].get(1));
+ assertEquals(data[2].get(4), data2[2].get(2));
+ assertEquals(data[2].get(5), data2[2].get(3));
+
+
+ filter = new RangeFilter(0, new Integer(0), new Integer(2), RangeFilter.INSIDE_BOUNDS);
+ data2 = filter.filter(data);
+
+ assertEquals(width, data.length);
+ assertEquals(height, data[0].size());
+ assertEquals(width, data2.length);
+ assertEquals(3, data2[0].size());
+ assertEquals("1", data2[0].get(0));
+ assertEquals("1", data2[0].get(1));
+ assertEquals("1", data2[0].get(2));
+
+ assertEquals(data[2].get(1), data2[2].get(0));
+ assertEquals(data[2].get(4), data2[2].get(1));
+ assertEquals(data[2].get(7), data2[2].get(2));
+
+
+ filter = new RangeFilter(0, new Integer(0), new Integer(2), RangeFilter.OUTSIDE_BOUNDS | RangeFilter.INCLUSIVE);
+ data2 = filter.filter(data);
+
+ assertEquals(width, data.length);
+ assertEquals(height, data[0].size());
+ assertEquals(width, data2.length);
+ assertEquals(7, data2[0].size());
+ assertEquals("0", data2[0].get(0));
+ assertEquals("2", data2[0].get(1));
+ assertEquals("0", data2[0].get(2));
+ assertEquals("2", data2[0].get(3));
+
+ assertEquals(data[2].get(0), data2[2].get(0));
+ assertEquals(data[2].get(2), data2[2].get(1));
+ assertEquals(data[2].get(3), data2[2].get(2));
+ assertEquals(data[2].get(5), data2[2].get(3));
+
+
+ filter = new RangeFilter(0, new Integer(0), new Integer(2), RangeFilter.INSIDE_BOUNDS);
+ data2 = filter.filter(data);
+
+ assertEquals(width, data.length);
+ assertEquals(height, data[0].size());
+ assertEquals(width, data2.length);
+ assertEquals(3, data2[0].size());
+ assertEquals("1", data2[0].get(0));
+ assertEquals("1", data2[0].get(1));
+ assertEquals("1", data2[0].get(2));
+
+ assertEquals(data[2].get(1), data2[2].get(0));
+ assertEquals(data[2].get(4), data2[2].get(1));
+ assertEquals(data[2].get(7), data2[2].get(2));
+
+
+ filter = new RangeFilter(0, new Integer(0), new Integer(2), RangeFilter.OUTSIDE_BOUNDS);
+ data2 = filter.filter(data);
+
+ assertEquals(width, data.length);
+ assertEquals(height, data[0].size());
+ assertEquals(width, data2.length);
+ assertEquals(0, data2[0].size());
+
+
+ filter = new RangeFilter(-1, new Integer(1), new Integer(3), 0);
+ assertNull(filter.filter(data));
+ }
+
+ public void testGetID() {
+ assertTrue(RangeFilter.ID.equals(filter.getID()));
+ }
+
+ public void testWriteXML() {
+ filter.writeXML(XMLMemento.createWriteRoot("test"));
+ }
+
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ }
+
+ RangeFilter filter;
+}
diff --git a/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/filters/SortFilterTest.java b/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/filters/SortFilterTest.java
new file mode 100644
index 0000000000..5d2fcc1788
--- /dev/null
+++ b/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/filters/SortFilterTest.java
@@ -0,0 +1,109 @@
+/*******************************************************************************
+ * Copyright (c) 2006 IBM Corporation.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - Jeff Briggs, Henry Hughes, Ryan Morse
+ *******************************************************************************/
+
+package org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests.filters;
+
+import java.util.ArrayList;
+
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.filters.SortFilter;
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests.MockDataSet;
+import org.eclipse.ui.XMLMemento;
+
+
+import junit.framework.TestCase;
+
+public class SortFilterTest extends TestCase {
+ public SortFilterTest(String name) {
+ super(name);
+ }
+
+ protected void setUp() throws Exception {
+ super.setUp();
+ filter = new SortFilter(0, SortFilter.ASCENDING);
+ }
+
+ public void testSortFilter() {
+ SortFilter filter = new SortFilter(-1, SortFilter.ASCENDING);
+ assertNotNull(filter);
+ }
+
+ @SuppressWarnings("unchecked")
+ public void testFilter() {
+ int width = 4;
+ int height = 10;
+ int wrap = height / 3;
+ ArrayList[] data = MockDataSet.buildArray(width, height, wrap);
+
+ assertEquals(width, data.length);
+ assertEquals(height, data[0].size());
+ ArrayList[] data2 = filter.filter(data);
+
+ assertEquals(width, data.length);
+ assertEquals(height, data[0].size());
+ assertEquals(width, data2.length);
+ assertEquals(height, data2[0].size());
+ assertEquals("0", data2[0].get(0));
+ assertEquals("0", data2[0].get(1));
+ assertEquals("0", data2[0].get(2));
+ assertEquals("0", data2[0].get(3));
+ assertEquals("1", data2[0].get(4));
+ assertEquals("2", data2[0].get(7));
+
+ assertEquals(data[2].get(0), data2[2].get(0));
+ assertEquals(data[2].get(3), data2[2].get(1));
+ assertEquals(data[2].get(6), data2[2].get(2));
+ assertEquals(data[2].get(9), data2[2].get(3));
+
+
+ filter = new SortFilter(0, SortFilter.DESCENDING);
+ data2 = filter.filter(data);
+
+ assertEquals(width, data.length);
+ assertEquals(height, data[0].size());
+ assertEquals(width, data2.length);
+ assertEquals(height, data2[0].size());
+ assertEquals("2", data2[0].get(0));
+ assertEquals("2", data2[0].get(1));
+ assertEquals("2", data2[0].get(2));
+ assertEquals("1", data2[0].get(3));
+ assertEquals("0", data2[0].get(7));
+
+ assertEquals(data[2].get(2), data2[2].get(0));
+ assertEquals(data[2].get(5), data2[2].get(1));
+ assertEquals(data[2].get(8), data2[2].get(2));
+ assertEquals(data[2].get(9), data2[2].get(7));
+
+ filter = new SortFilter(-1, 0);
+ assertNull(filter.filter(data));
+
+ data[0].add("a");
+ data[0].add("a");
+ data[1].add("b");
+ data[1].add("c");
+ filter = new SortFilter(0, 0);
+ assertNotNull(filter.filter(data));
+ }
+
+ public void testGetID() {
+ assertTrue(SortFilter.ID.equals(filter.getID()));
+ }
+
+ public void testWriteXML() {
+ filter.writeXML(XMLMemento.createWriteRoot("test"));
+ }
+
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ filter = null;
+ }
+
+ SortFilter filter;
+}
diff --git a/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/filters/UniqueFilterTest.java b/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/filters/UniqueFilterTest.java
new file mode 100644
index 0000000000..3cd62d11c8
--- /dev/null
+++ b/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/filters/UniqueFilterTest.java
@@ -0,0 +1,93 @@
+/*******************************************************************************
+ * Copyright (c) 2006 IBM Corporation.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - Jeff Briggs, Henry Hughes, Ryan Morse
+ *******************************************************************************/
+
+package org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests.filters;
+
+import java.util.ArrayList;
+
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.aggregates.MaxAggregate;
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.aggregates.SumAggregate;
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.filters.UniqueFilter;
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests.MockDataSet;
+import org.eclipse.ui.XMLMemento;
+
+
+import junit.framework.TestCase;
+
+public class UniqueFilterTest extends TestCase {
+ public UniqueFilterTest(String name) {
+ super(name);
+ }
+
+ protected void setUp() throws Exception {
+ super.setUp();
+
+ filter = new UniqueFilter(0, new SumAggregate(), 0);
+ }
+
+ public void testUniqueFilter() {
+ filter = new UniqueFilter(-1, new MaxAggregate(), 0);
+ assertNotNull(filter);
+ }
+
+ @SuppressWarnings("unchecked")
+ public void testFilter() {
+ int width = 4;
+ int height = 10;
+ int wrap = height / 3;
+ ArrayList[] data = MockDataSet.buildArray(width, height, wrap);
+
+ assertEquals(width, data.length);
+ assertEquals(height, data[0].size());
+
+ ArrayList[] data2 = filter.filter(data);
+
+ assertEquals(width, data.length);
+ assertEquals(height, data[0].size());
+ assertEquals(width, data2.length);
+ assertEquals(wrap, data2[0].size());
+ assertEquals("1", data2[0].get(0));
+ assertEquals("2", data2[0].get(1));
+ assertEquals("0", data2[0].get(2));
+
+ assertEquals(0, ((Number)data2[2].get(0)).intValue());
+ assertEquals(3, ((Number)data2[2].get(1)).intValue());
+ assertEquals(8, ((Number)data2[2].get(2)).intValue());
+
+ filter = new UniqueFilter(-1, new SumAggregate(), 0);
+ assertNull(filter.filter(null));
+
+ data = new ArrayList[2];
+ data[0] = new ArrayList();
+ data[1] = new ArrayList();
+
+ data[0].add("a");
+ data[0].add("a");
+ data[1].add("b");
+ data[1].add("c");
+ filter = new UniqueFilter(0, new SumAggregate(), 0);
+ assertNotNull(filter.filter(data));
+ }
+
+ public void testGetID() {
+ assertTrue(UniqueFilter.ID.equals(filter.getID()));
+ }
+
+ public void testWriteXML() {
+ filter.writeXML(XMLMemento.createWriteRoot("test"));
+ }
+
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ filter = null;
+ }
+ UniqueFilter filter;
+}
diff --git a/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/structures/ChartStreamDaemonTest.java b/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/structures/ChartStreamDaemonTest.java
new file mode 100644
index 0000000000..6248dc5e13
--- /dev/null
+++ b/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/structures/ChartStreamDaemonTest.java
@@ -0,0 +1,55 @@
+/*******************************************************************************
+ * Copyright (c) 2006 IBM Corporation.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - Jeff Briggs, Henry Hughes, Ryan Morse
+ *******************************************************************************/
+
+package org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests.structures;
+
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.datasets.row.RowDataSet;
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.datasets.row.RowParser;
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.structures.ChartStreamDaemon;
+
+import junit.framework.TestCase;
+
+public class ChartStreamDaemonTest extends TestCase {
+ public ChartStreamDaemonTest(String name) {
+ super(name);
+ }
+
+ protected void setUp() throws Exception {
+ super.setUp();
+
+ csd = new ChartStreamDaemon(null, null);
+ assertNotNull(csd);
+
+ csd1 = new ChartStreamDaemon(new RowDataSet(new String[] {"a"}), new RowParser(new String[] {"\\w", "\\s"}));
+ assertNotNull(csd1);
+ }
+
+ public void testHandleEvent() {
+ csd.handleDataEvent("a a a");
+ csd1.handleDataEvent("a a a");
+ }
+
+ public void testIsDisposed() {
+ assertFalse(csd1.isDisposed());
+ }
+
+ public void testDispose() {
+ assertFalse(csd1.isDisposed());
+ csd1.dispose();
+ assertTrue(csd1.isDisposed());
+ }
+
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ }
+
+ private ChartStreamDaemon csd, csd1;
+} \ No newline at end of file
diff --git a/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/structures/ChartStreamDaemonTest2.java b/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/structures/ChartStreamDaemonTest2.java
new file mode 100644
index 0000000000..4273854a27
--- /dev/null
+++ b/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/structures/ChartStreamDaemonTest2.java
@@ -0,0 +1,60 @@
+/*******************************************************************************
+ * Copyright (c) 2006 IBM Corporation.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - Jeff Briggs, Henry Hughes, Ryan Morse
+ *******************************************************************************/
+
+package org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests.structures;
+
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.datasets.row.RowDataSet;
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.datasets.row.RowParser;
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.structures.ChartStreamDaemon2;
+
+import junit.framework.TestCase;
+
+public class ChartStreamDaemonTest2 extends TestCase {
+ public ChartStreamDaemonTest2(String name) {
+ super(name);
+ }
+
+ protected void setUp() throws Exception {
+ super.setUp();
+
+ csd = new ChartStreamDaemon2(null, null, null);
+ assertNotNull(csd);
+
+ csd1 = new ChartStreamDaemon2(null, new RowDataSet(new String[] {"a"}), new RowParser(new String[] {"\\w", "\\s"}));
+ assertNotNull(csd1);
+ }
+
+ public void testHandleEvent() {
+ csd.handleDataEvent("a a a");
+ csd1.handleDataEvent("a a a");
+ }
+
+ public void testIsDisposed() {
+ assertFalse(csd1.isDisposed());
+ }
+
+ public void testSetParser() {
+ csd1.handleDataEvent("a a a");
+ csd1.setParser(new RowDataSet(new String[] {"a"}), new RowParser(new String[] {"\\w", "\\s"}));
+ }
+
+ public void testDispose() {
+ assertFalse(csd1.isDisposed());
+ csd1.dispose();
+ assertTrue(csd1.isDisposed());
+ }
+
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ }
+
+ private ChartStreamDaemon2 csd, csd1;
+} \ No newline at end of file
diff --git a/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/structures/DataPointTest.java b/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/structures/DataPointTest.java
new file mode 100644
index 0000000000..f41bd0dafa
--- /dev/null
+++ b/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/structures/DataPointTest.java
@@ -0,0 +1,19 @@
+package org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests.structures;
+
+import junit.framework.TestCase;
+
+public class DataPointTest extends TestCase {
+ public DataPointTest(String name) {
+ super(name);
+ }
+
+ protected void setUp() throws Exception {
+ super.setUp();
+ }
+
+ public void test() {}
+
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ }
+}
diff --git a/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/structures/GraphDataTest.java b/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/structures/GraphDataTest.java
new file mode 100644
index 0000000000..286adb246e
--- /dev/null
+++ b/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/structures/GraphDataTest.java
@@ -0,0 +1,30 @@
+/*******************************************************************************
+ * Copyright (c) 2006 IBM Corporation.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - Jeff Briggs, Henry Hughes, Ryan Morse
+ *******************************************************************************/
+
+package org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests.structures;
+
+import junit.framework.TestCase;
+
+public class GraphDataTest extends TestCase {
+ public GraphDataTest(String name) {
+ super(name);
+ }
+
+ protected void setUp() throws Exception {
+ super.setUp();
+ }
+
+ public void test() {}
+
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ }
+}
diff --git a/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/structures/NumberTypeTest.java b/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/structures/NumberTypeTest.java
new file mode 100644
index 0000000000..5712834a36
--- /dev/null
+++ b/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/structures/NumberTypeTest.java
@@ -0,0 +1,76 @@
+/*******************************************************************************
+ * Copyright (c) 2006 IBM Corporation.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - Jeff Briggs, Henry Hughes, Ryan Morse
+ *******************************************************************************/
+
+package org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests.structures;
+
+import org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.structures.NumberType;
+
+import junit.framework.TestCase;
+
+public class NumberTypeTest extends TestCase {
+ public NumberTypeTest(String name) {
+ super(name);
+ }
+
+ protected void setUp() throws Exception {
+ super.setUp();
+ }
+
+ public void testGetNumber() {
+ Number n = NumberType.getNumber(new Integer(3), 3.2);
+ assertTrue(n instanceof Integer);
+ assertEquals(3, n.intValue());
+
+ n = NumberType.getNumber(new Double(3), 3.2);
+ assertTrue(n instanceof Double);
+ assertEquals(3.2, n.doubleValue(), 0.0);
+
+ n = NumberType.getNumber(new Float(3), 3.2);
+ assertTrue(n instanceof Float);
+ assertEquals(3.2, n.floatValue(), 0.0001);
+
+ n = NumberType.getNumber(new Long(3), 3.2);
+ assertTrue(n instanceof Long);
+ assertEquals(3, n.longValue());
+
+ n = NumberType.getNumber(new Byte((byte)3), 3.2);
+ assertTrue(n instanceof Byte);
+ assertEquals(3, n.byteValue());
+
+ n = NumberType.getNumber(new Short((short)3), 3.2);
+ assertTrue(n instanceof Short);
+ assertEquals(3, n.shortValue());
+ }
+
+ public void testObj2num() {
+ Object[] obj = new Object[] {new Integer(3), new Double(2.3), new Float(4.2)};
+ Number[] num = NumberType.obj2num(obj);
+
+ assertEquals(0, NumberType.obj2num("a").intValue());
+ assertEquals(3, num.length);
+ assertTrue(num[0] instanceof Integer);
+ assertTrue(num[1] instanceof Double);
+ assertTrue(num[2] instanceof Float);
+ assertEquals(3, num[0].intValue());
+ assertEquals(2.3, num[1].doubleValue(), 0.00001);
+ assertEquals(4.2, num[2].doubleValue(), 0.00001);
+ }
+
+ public void testCleanObj2Num() {
+ assertEquals(3, NumberType.cleanObj2Num("3").intValue());
+ assertEquals(3.2, NumberType.cleanObj2Num("3.2").doubleValue(), 0.00001);
+ assertEquals(3, NumberType.cleanObj2Num(new Integer(3)).intValue());
+ }
+
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ }
+}
diff --git a/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/structures/UpdateManagerTest.java b/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/structures/UpdateManagerTest.java
new file mode 100644
index 0000000000..79e07a367d
--- /dev/null
+++ b/systemtap/org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests/src/org/eclipse/linuxtools/systemtap/ui/graphingapi/nonui/tests/structures/UpdateManagerTest.java
@@ -0,0 +1,57 @@
+package org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui.tests.structures;
+
+import org.eclipse.linuxtools.systemtap.ui.structures.*;
+import org.eclipse.linuxtools.systemtap.ui.structures.listeners.IUpdateListener;
+import org.eclipse.linuxtools.systemtap.ui.structures.UpdateManager;
+
+import junit.framework.TestCase;
+
+public class UpdateManagerTest extends TestCase {
+ public UpdateManagerTest(String name) {
+ super(name);
+ }
+
+ protected void setUp() throws Exception {
+ super.setUp();
+ manager = new UpdateManager(5);
+ }
+
+ public void testStop() {
+ assertTrue(manager.isRunning());
+ manager.stop();
+ assertFalse(manager.isRunning());
+ }
+
+ public void testAddUpdateListener() {
+ manager.addUpdateListener(listener);
+ }
+
+ public void testRemoveUpdateListener() {
+ manager.addUpdateListener(listener);
+ manager.removeUpdateListener(listener);
+ }
+
+ public void testIsRunning() {
+ assertTrue(manager.isRunning());
+ manager.stop();
+ assertFalse(manager.isRunning());
+ }
+
+ public void testDispose() {
+ manager.dispose();
+ assertFalse(manager.isRunning());
+ }
+
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ manager.stop();
+ manager.dispose();
+ }
+
+ private UpdateManager manager;
+ private IUpdateListener listener = new IUpdateListener() {
+ public void handleUpdateEvent() {
+ //Do nothing;
+ }
+ };
+}

Back to the top