16224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala/*
26224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala * Copyright 2012 AndroidPlot.com
36224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala *
46224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala *    Licensed under the Apache License, Version 2.0 (the "License");
56224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala *    you may not use this file except in compliance with the License.
66224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala *    You may obtain a copy of the License at
76224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala *
86224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala *        http://www.apache.org/licenses/LICENSE-2.0
96224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala *
106224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala *    Unless required by applicable law or agreed to in writing, software
116224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala *    distributed under the License is distributed on an "AS IS" BASIS,
126224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
136224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala *    See the License for the specific language governing permissions and
146224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala *    limitations under the License.
156224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala */
166224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala
176224eda509d436a575f801942337da92a6c18767Eino-Ville Talvalapackage com.androidplot.xy;
186224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala
196224eda509d436a575f801942337da92a6c18767Eino-Ville Talvalaimport android.util.Pair;
206224eda509d436a575f801942337da92a6c18767Eino-Ville Talvalaimport mockit.UsingMocksAndStubs;
216224eda509d436a575f801942337da92a6c18767Eino-Ville Talvalaimport org.junit.Test;
226224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala
236224eda509d436a575f801942337da92a6c18767Eino-Ville Talvalaimport java.util.Arrays;
246224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala
256224eda509d436a575f801942337da92a6c18767Eino-Ville Talvalaimport static junit.framework.Assert.assertEquals;
266224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala
276224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala@UsingMocksAndStubs({Pair.class})
286224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala
296224eda509d436a575f801942337da92a6c18767Eino-Ville Talvalapublic class SimpleXYSeriesTest {
306224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala
316224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala    @Test
326224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala    public void testYValsOnlyConstructor() throws Exception {
336224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        Number[] yVals = {5, 6, 7, 8, 9};
346224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        SimpleXYSeries series = new SimpleXYSeries(Arrays.asList(yVals), SimpleXYSeries.ArrayFormat.Y_VALS_ONLY, "test");
356224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala
366224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        assertEquals(yVals[0], series.getY(0));
376224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        assertEquals(yVals[1], series.getY(1));
386224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        assertEquals(yVals[2], series.getY(2));
396224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        assertEquals(yVals[3], series.getY(3));
406224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        assertEquals(yVals[4], series.getY(4));
416224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala
426224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        assertEquals(0, series.getX(0));
436224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        assertEquals(1, series.getX(1));
446224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        assertEquals(2, series.getX(2));
456224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        assertEquals(3, series.getX(3));
466224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        assertEquals(4, series.getX(4));
476224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala    }
486224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala
496224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala    @Test
506224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala    public void testXYInterleavedConstructor() throws Exception {
516224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        Number[] yVals = {55, 5, 66, 6, 77, 7, 88, 8, 99, 9};
526224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        SimpleXYSeries series = new SimpleXYSeries(Arrays.asList(yVals), SimpleXYSeries.ArrayFormat.XY_VALS_INTERLEAVED, "test");
536224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala
546224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        assertEquals(5, series.getY(0));
556224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        assertEquals(6, series.getY(1));
566224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        assertEquals(7, series.getY(2));
576224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        assertEquals(8, series.getY(3));
586224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        assertEquals(9, series.getY(4));
596224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala
606224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        assertEquals(55, series.getX(0));
616224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        assertEquals(66, series.getX(1));
626224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        assertEquals(77, series.getX(2));
636224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        assertEquals(88, series.getX(3));
646224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        assertEquals(99, series.getX(4));
656224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala    }
666224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala
676224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala    @Test
686224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala    public void testTwoListConstructor() throws Exception {
696224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        Number[] yVals = {5, 6, 7, 8, 9};
706224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        Number[] xVals = {1, 2, 3, 4, 5};
716224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        SimpleXYSeries series = new SimpleXYSeries(Arrays.asList(xVals), Arrays.asList(yVals), "test");
726224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala
736224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        assertEquals(5, series.getY(0));
746224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        assertEquals(6, series.getY(1));
756224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        assertEquals(7, series.getY(2));
766224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        assertEquals(8, series.getY(3));
776224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        assertEquals(9, series.getY(4));
786224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala
796224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        assertEquals(1, series.getX(0));
806224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        assertEquals(2, series.getX(1));
816224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        assertEquals(3, series.getX(2));
826224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        assertEquals(4, series.getX(3));
836224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        assertEquals(5, series.getX(4));
846224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala    }
856224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala
866224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala    @Test
876224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala    public void testPushPopStuff() throws Exception {
886224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        Number[] yVals = {5, 6, 7, 8, 9};
896224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        Number[] xVals = {1, 2, 3, 4, 5};
906224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        SimpleXYSeries series = new SimpleXYSeries(Arrays.asList(xVals), Arrays.asList(yVals), "test");
916224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala
926224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        // chop off the tail:
936224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        series.removeLast();
946224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        assertEquals(8, series.getY(series.size()-1));
956224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        assertEquals(4, series.getX(series.size()-1));
966224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala
976224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        // chop off the head:
986224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        series.removeFirst();
996224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        assertEquals(6, series.getY(0));
1006224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        assertEquals(2, series.getX(0));
1016224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala
1026224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        // add to the tail:
1036224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        series.addLast(22, 33);
1046224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        assertEquals(33, series.getY(series.size()-1));
1056224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        assertEquals(22, series.getX(series.size()-1));
1066224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala
1076224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        // add to the head:
1086224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        series.addFirst(55, 66);
1096224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        assertEquals(66, series.getY(0));
1106224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        assertEquals(55, series.getX(0));
1116224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala    }
1126224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala
1136224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala    @Test
1146224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala    public void testSet() throws Exception {
1156224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        Number[] yVals = {5, 6, 7, 8, 9};
1166224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        Number[] xVals = {1, 2, 3, 4, 5};
1176224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        SimpleXYSeries series = new SimpleXYSeries(Arrays.asList(xVals), Arrays.asList(yVals), "test");
1186224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala
1196224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        int size = series.size();
1206224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala
1216224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        series.setX(22, 2);
1226224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        assertEquals(22, series.getX(2));
1236224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala
1246224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        // make sure size has not changed:
1256224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        assertEquals(size, series.size());
1266224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala
1276224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        series.setY(23, 2);
1286224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        assertEquals(23, series.getY(2));
1296224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala
1306224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        // make sure size has not changed:
1316224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala        assertEquals(size, series.size());
1326224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala    }
1336224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala
1346224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala}
135