/*
* Copyright 2012 AndroidPlot.com
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.androidplot.xy;
import android.util.Pair;
import mockit.UsingMocksAndStubs;
import org.junit.Test;
import java.util.Arrays;
import static junit.framework.Assert.assertEquals;
@UsingMocksAndStubs({Pair.class})
public class SimpleXYSeriesTest {
@Test
public void testYValsOnlyConstructor() throws Exception {
Number[] yVals = {5, 6, 7, 8, 9};
SimpleXYSeries series = new SimpleXYSeries(Arrays.asList(yVals), SimpleXYSeries.ArrayFormat.Y_VALS_ONLY, "test");
assertEquals(yVals[0], series.getY(0));
assertEquals(yVals[1], series.getY(1));
assertEquals(yVals[2], series.getY(2));
assertEquals(yVals[3], series.getY(3));
assertEquals(yVals[4], series.getY(4));
assertEquals(0, series.getX(0));
assertEquals(1, series.getX(1));
assertEquals(2, series.getX(2));
assertEquals(3, series.getX(3));
assertEquals(4, series.getX(4));
}
@Test
public void testXYInterleavedConstructor() throws Exception {
Number[] yVals = {55, 5, 66, 6, 77, 7, 88, 8, 99, 9};
SimpleXYSeries series = new SimpleXYSeries(Arrays.asList(yVals), SimpleXYSeries.ArrayFormat.XY_VALS_INTERLEAVED, "test");
assertEquals(5, series.getY(0));
assertEquals(6, series.getY(1));
assertEquals(7, series.getY(2));
assertEquals(8, series.getY(3));
assertEquals(9, series.getY(4));
assertEquals(55, series.getX(0));
assertEquals(66, series.getX(1));
assertEquals(77, series.getX(2));
assertEquals(88, series.getX(3));
assertEquals(99, series.getX(4));
}
@Test
public void testTwoListConstructor() throws Exception {
Number[] yVals = {5, 6, 7, 8, 9};
Number[] xVals = {1, 2, 3, 4, 5};
SimpleXYSeries series = new SimpleXYSeries(Arrays.asList(xVals), Arrays.asList(yVals), "test");
assertEquals(5, series.getY(0));
assertEquals(6, series.getY(1));
assertEquals(7, series.getY(2));
assertEquals(8, series.getY(3));
assertEquals(9, series.getY(4));
assertEquals(1, series.getX(0));
assertEquals(2, series.getX(1));
assertEquals(3, series.getX(2));
assertEquals(4, series.getX(3));
assertEquals(5, series.getX(4));
}
@Test
public void testPushPopStuff() throws Exception {
Number[] yVals = {5, 6, 7, 8, 9};
Number[] xVals = {1, 2, 3, 4, 5};
SimpleXYSeries series = new SimpleXYSeries(Arrays.asList(xVals), Arrays.asList(yVals), "test");
// chop off the tail:
series.removeLast();
assertEquals(8, series.getY(series.size()-1));
assertEquals(4, series.getX(series.size()-1));
// chop off the head:
series.removeFirst();
assertEquals(6, series.getY(0));
assertEquals(2, series.getX(0));
// add to the tail:
series.addLast(22, 33);
assertEquals(33, series.getY(series.size()-1));
assertEquals(22, series.getX(series.size()-1));
// add to the head:
series.addFirst(55, 66);
assertEquals(66, series.getY(0));
assertEquals(55, series.getX(0));
}
@Test
public void testSet() throws Exception {
Number[] yVals = {5, 6, 7, 8, 9};
Number[] xVals = {1, 2, 3, 4, 5};
SimpleXYSeries series = new SimpleXYSeries(Arrays.asList(xVals), Arrays.asList(yVals), "test");
int size = series.size();
series.setX(22, 2);
assertEquals(22, series.getX(2));
// make sure size has not changed:
assertEquals(size, series.size());
series.setY(23, 2);
assertEquals(23, series.getY(2));
// make sure size has not changed:
assertEquals(size, series.size());
}
}