/**
* Copyright (C) 2010-14 diirt developers. See COPYRIGHT.TXT
* All rights reserved. Use is subject to license terms. See LICENSE.TXT
*/
package org.diirt.datasource.graphene;
import java.util.Arrays;
import java.util.List;
import org.diirt.graphene.Point2DDataset;
import org.diirt.util.array.ArrayDouble;
import org.diirt.util.array.ListNumber;
import org.diirt.vtype.VTable;
import org.diirt.vtype.ValueFactory;
import org.junit.Test;
import static org.junit.Assert.*;
import static org.hamcrest.Matchers.*;
/**
*
* @author carcassi
*/
public class DatasetConversionsTest {
public DatasetConversionsTest() {
}
@Test
public void point2DDatsetFromVTable1() {
VTable data = ValueFactory.newVTable(Arrays.<Class<?>>asList(double.class, double.class),
Arrays.asList("x", "y"), Arrays.<Object>asList(new ArrayDouble(1,2,3), new ArrayDouble(5,4,6)));
Point2DDataset dataset = DatasetConversions.point2DDatasetFromVTable(data, "x", "y");
assertThat(dataset.getCount(), equalTo(3));
assertThat(dataset.getXValues(), equalTo((ListNumber) new ArrayDouble(1,2,3)));
assertThat(dataset.getYValues(), equalTo((ListNumber) new ArrayDouble(5,4,6)));
}
@Test
public void point2DDatsetFromVTable2() {
VTable data = ValueFactory.newVTable(Arrays.<Class<?>>asList(double.class, double.class),
Arrays.asList("x", "y"), Arrays.<Object>asList(new ArrayDouble(1,2,3), new ArrayDouble(5,4,6)));
Point2DDataset dataset = DatasetConversions.point2DDatasetFromVTable(data, "x", null);
assertThat(dataset.getCount(), equalTo(3));
assertThat(dataset.getXValues(), equalTo((ListNumber) new ArrayDouble(1,2,3)));
assertThat(dataset.getYValues(), equalTo((ListNumber) new ArrayDouble(5,4,6)));
}
@Test
public void point2DDatsetFromVTable3() {
VTable data = ValueFactory.newVTable(Arrays.<Class<?>>asList(double.class, double.class),
Arrays.asList("x", "y"), Arrays.<Object>asList(new ArrayDouble(1,2,3), new ArrayDouble(5,4,6)));
Point2DDataset dataset = DatasetConversions.point2DDatasetFromVTable(data, null, "y");
assertThat(dataset.getCount(), equalTo(3));
assertThat(dataset.getXValues(), equalTo((ListNumber) new ArrayDouble(1,2,3)));
assertThat(dataset.getYValues(), equalTo((ListNumber) new ArrayDouble(5,4,6)));
}
@Test(expected = IllegalArgumentException.class)
public void point2DDatsetFromVTable4() {
VTable data = ValueFactory.newVTable(Arrays.<Class<?>>asList(double.class, double.class),
Arrays.asList("x", "y"), Arrays.<Object>asList(new ArrayDouble(1,2,3), new ArrayDouble(5,4,6)));
Point2DDataset dataset = DatasetConversions.point2DDatasetFromVTable(data, null, "z");
}
@Test
public void point2DDatsetFromVTable5() {
VTable data = ValueFactory.newVTable(Arrays.<Class<?>>asList(double.class, double.class),
Arrays.asList("x", "y"), Arrays.<Object>asList(new ArrayDouble(1,2,3), new ArrayDouble(5,4,6)));
Point2DDataset dataset = DatasetConversions.point2DDatasetFromVTable(data, null, null);
assertThat(dataset.getCount(), equalTo(3));
assertThat(dataset.getXValues(), equalTo((ListNumber) new ArrayDouble(1,2,3)));
assertThat(dataset.getYValues(), equalTo((ListNumber) new ArrayDouble(5,4,6)));
}
@Test(expected = IllegalArgumentException.class)
public void point2DDatsetFromVTable6() {
VTable data = ValueFactory.newVTable(Arrays.<Class<?>>asList(double.class, String.class),
Arrays.asList("x", "y"), Arrays.<Object>asList(new ArrayDouble(1,2,3), Arrays.asList("a", "b", "c")));
Point2DDataset dataset = DatasetConversions.point2DDatasetFromVTable(data, null, null);
}
@Test(expected = IllegalArgumentException.class)
public void point2DDatsetFromVTable7() {
VTable data = ValueFactory.newVTable(Arrays.<Class<?>>asList(double.class),
Arrays.asList("x"), Arrays.<Object>asList(new ArrayDouble(1,2,3)));
Point2DDataset dataset = DatasetConversions.point2DDatasetFromVTable(data, null, null);
}
@Test
public void point2DDatsetFromVTable8() {
VTable data = ValueFactory.newVTable(Arrays.<Class<?>>asList(double.class, String.class, double.class),
Arrays.asList("x", "y", "z"), Arrays.<Object>asList(new ArrayDouble(1,2,3), Arrays.asList("a", "b", "c"), new ArrayDouble(5,4,6)));
Point2DDataset dataset = DatasetConversions.point2DDatasetFromVTable(data, null, null);
assertThat(dataset.getCount(), equalTo(3));
assertThat(dataset.getXValues(), equalTo((ListNumber) new ArrayDouble(1,2,3)));
assertThat(dataset.getYValues(), equalTo((ListNumber) new ArrayDouble(5,4,6)));
}
@Test
public void point2DDatsetFromVTable9() {
VTable data = ValueFactory.newVTable(Arrays.<Class<?>>asList(String.class, double.class, double.class),
Arrays.asList("x", "y", "z"), Arrays.<Object>asList(Arrays.asList("a", "b", "c"), new ArrayDouble(1,2,3), new ArrayDouble(5,4,6)));
Point2DDataset dataset = DatasetConversions.point2DDatasetFromVTable(data, null, null);
assertThat(dataset.getCount(), equalTo(3));
assertThat(dataset.getXValues(), equalTo((ListNumber) new ArrayDouble(1,2,3)));
assertThat(dataset.getYValues(), equalTo((ListNumber) new ArrayDouble(5,4,6)));
}
@Test
public void point2DDatsetFromVTable10() {
VTable data = ValueFactory.newVTable(Arrays.<Class<?>>asList(double.class, double.class),
Arrays.asList("x", "y"), Arrays.<Object>asList(new ArrayDouble(1,2,3), new ArrayDouble(5,4,6)));
Point2DDataset dataset = DatasetConversions.point2DDatasetFromVTable(data, null, "x");
assertThat(dataset.getCount(), equalTo(3));
assertThat(dataset.getXValues(), equalTo((ListNumber) new ArrayDouble(5,4,6)));
assertThat(dataset.getYValues(), equalTo((ListNumber) new ArrayDouble(1,2,3)));
}
@Test
public void point2DDatsetsFromVTable1() {
VTable data = ValueFactory.newVTable(Arrays.<Class<?>>asList(double.class, double.class, double.class, double.class),
Arrays.asList("x1", "y1", "x2", "y2"), Arrays.<Object>asList(new ArrayDouble(1,2,3), new ArrayDouble(5,4,6), new ArrayDouble(10,20,30), new ArrayDouble(50,40,60)));
List<Point2DDataset> datasets = DatasetConversions.point2DDatasetsFromVTable(data, Arrays.asList("x1", "x2"), Arrays.asList("y1", "y2"));
assertThat(datasets.size(), equalTo(2));
Point2DDataset dataset = datasets.get(0);
assertThat(dataset.getCount(), equalTo(3));
assertThat(dataset.getXValues(), equalTo((ListNumber) new ArrayDouble(1,2,3)));
assertThat(dataset.getYValues(), equalTo((ListNumber) new ArrayDouble(5,4,6)));
dataset = datasets.get(1);
assertThat(dataset.getCount(), equalTo(3));
assertThat(dataset.getXValues(), equalTo((ListNumber) new ArrayDouble(10,20,30)));
assertThat(dataset.getYValues(), equalTo((ListNumber) new ArrayDouble(50,40,60)));
}
@Test
public void point2DDatsetsFromVTable2() {
VTable data = ValueFactory.newVTable(Arrays.<Class<?>>asList(double.class, double.class, double.class, double.class),
Arrays.asList("x", "y1", "y2", "y3"), Arrays.<Object>asList(new ArrayDouble(1,2,3), new ArrayDouble(5,4,6), new ArrayDouble(10,20,30), new ArrayDouble(50,40,60)));
List<Point2DDataset> datasets = DatasetConversions.point2DDatasetsFromVTable(data, Arrays.asList("x"), Arrays.asList("y1", "y2", "y3"));
assertThat(datasets.size(), equalTo(3));
Point2DDataset dataset = datasets.get(0);
assertThat(dataset.getCount(), equalTo(3));
assertThat(dataset.getXValues(), equalTo((ListNumber) new ArrayDouble(1,2,3)));
assertThat(dataset.getYValues(), equalTo((ListNumber) new ArrayDouble(5,4,6)));
dataset = datasets.get(1);
assertThat(dataset.getCount(), equalTo(3));
assertThat(dataset.getXValues(), equalTo((ListNumber) new ArrayDouble(1,2,3)));
assertThat(dataset.getYValues(), equalTo((ListNumber) new ArrayDouble(10,20,30)));
dataset = datasets.get(2);
assertThat(dataset.getCount(), equalTo(3));
assertThat(dataset.getXValues(), equalTo((ListNumber) new ArrayDouble(1,2,3)));
assertThat(dataset.getYValues(), equalTo((ListNumber) new ArrayDouble(50,40,60)));
}
@Test
public void point2DDatsetsFromVTable3() {
VTable data = ValueFactory.newVTable(Arrays.<Class<?>>asList( double.class, double.class, double.class),
Arrays.asList("y1", "y2", "y3"), Arrays.<Object>asList(new ArrayDouble(5,4,6), new ArrayDouble(10,20,30), new ArrayDouble(50,40,60)));
List<Point2DDataset> datasets = DatasetConversions.point2DDatasetsFromVTable(data, null, null);
assertThat(datasets.size(), equalTo(3));
Point2DDataset dataset = datasets.get(0);
assertThat(dataset.getCount(), equalTo(3));
assertThat(dataset.getXValues(), equalTo((ListNumber) new ArrayDouble(0,1,2)));
assertThat(dataset.getYValues(), equalTo((ListNumber) new ArrayDouble(5,4,6)));
dataset = datasets.get(1);
assertThat(dataset.getCount(), equalTo(3));
assertThat(dataset.getXValues(), equalTo((ListNumber) new ArrayDouble(0,1,2)));
assertThat(dataset.getYValues(), equalTo((ListNumber) new ArrayDouble(10,20,30)));
dataset = datasets.get(2);
assertThat(dataset.getCount(), equalTo(3));
assertThat(dataset.getXValues(), equalTo((ListNumber) new ArrayDouble(0,1,2)));
assertThat(dataset.getYValues(), equalTo((ListNumber) new ArrayDouble(50,40,60)));
}
}