/******************************************************************************* * Copyright (c) 2009 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 - initial API and implementation *******************************************************************************/ package org.eclipse.linuxtools.systemtap.graphing.core.tests.datasets.table; import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertSame; import static org.junit.Assert.assertTrue; import org.eclipse.linuxtools.systemtap.graphing.core.datasets.IDataEntry; import org.eclipse.linuxtools.systemtap.graphing.core.datasets.table.TableEntry; import org.junit.Before; import org.junit.Test; public class TableEntryTest { @Before public void setUp() { entry = new TableEntry(); data = new Integer[] {2, 5, 4}; entry.add(data); data = new Integer[] {5, 1, 3}; entry.add(data); } @Test 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()); } @Test 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()); } @Test 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()); } @Test public void testGetData() { assertEquals(data[0], entry.getData()[1][0]); assertEquals(data[1], entry.getData()[1][1]); } @Test public void testGetRow() { assertNull(entry.getRow(10)); assertNull(entry.getRow(-1)); assertNotNull(entry.getRow(0)); assertArrayEquals(data, entry.getRow(1)); assertNull(entry.getRow(null)); assertNull(entry.getRow("asdf")); assertNotNull(entry.getRow("2")); assertArrayEquals(data, entry.getRow("5")); } @Test public void testGetColumn() { assertEquals(data[1], entry.getColumn(1)[1]); assertNull(entry.getColumn(10)); assertNull(entry.getColumn(-1)); } @Test public void testPutRow() { Integer[] data2 = new Integer[] {2, 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[] {2, 5, 6}; entry.putRow(0, data2); assertEquals(2, entry.getRowCount()); } @Test public void testAdd() { Integer[] data2 = new Integer[] {2, 5}; entry.add(data2); assertEquals(2, entry.getRowCount()); //Add successful data2 = new Integer[] {2, 5, 6}; entry.add(data2); assertEquals(3, entry.getRowCount()); } @Test 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]); } @Test public void testRemove() { assertTrue(entry.remove(0)); assertEquals(1, entry.getRowCount()); } private TableEntry entry; private Integer[] data; }