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