/*******************************************************************************
* 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.row;
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
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.row.RowEntry;
import org.junit.Before;
import org.junit.Test;
public class RowEntryTest {
@Before
public void setUp() {
entry = new RowEntry();
data = new Integer[] {2, 5, 4};
entry.putRow(0, data);
}
@Test
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());
}
@Test
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());
}
@Test
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));
}
@Test
public void testGetRow() {
assertArrayEquals(data, entry.getRow(0));
assertNull(entry.getRow(10));
assertNull(entry.getRow(-1));
assertArrayEquals(data, entry.getRow(null));
assertArrayEquals(data, entry.getRow("asdf"));
}
@Test
public void testGetColumn() {
assertEquals(data[1], entry.getColumn(1)[0]);
assertNull(entry.getColumn(10));
assertNull(entry.getColumn(-1));
}
@Test
public void testGetData() {
assertEquals(data[0], entry.getData()[0][0]);
assertEquals(data[1], entry.getData()[0][1]);
}
@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 testPutRow() {
Integer[] data2 = new Integer[] {2, 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());
}
@Test
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());
}
private RowEntry entry;
private Integer[] data;
}