1/* 2 * Copyright 2012 AndroidPlot.com 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17package com.androidplot.xy; 18 19import android.util.Pair; 20import mockit.UsingMocksAndStubs; 21import org.junit.Test; 22 23import java.util.Arrays; 24 25import static junit.framework.Assert.assertEquals; 26 27@UsingMocksAndStubs({Pair.class}) 28 29public class SimpleXYSeriesTest { 30 31 @Test 32 public void testYValsOnlyConstructor() throws Exception { 33 Number[] yVals = {5, 6, 7, 8, 9}; 34 SimpleXYSeries series = new SimpleXYSeries(Arrays.asList(yVals), SimpleXYSeries.ArrayFormat.Y_VALS_ONLY, "test"); 35 36 assertEquals(yVals[0], series.getY(0)); 37 assertEquals(yVals[1], series.getY(1)); 38 assertEquals(yVals[2], series.getY(2)); 39 assertEquals(yVals[3], series.getY(3)); 40 assertEquals(yVals[4], series.getY(4)); 41 42 assertEquals(0, series.getX(0)); 43 assertEquals(1, series.getX(1)); 44 assertEquals(2, series.getX(2)); 45 assertEquals(3, series.getX(3)); 46 assertEquals(4, series.getX(4)); 47 } 48 49 @Test 50 public void testXYInterleavedConstructor() throws Exception { 51 Number[] yVals = {55, 5, 66, 6, 77, 7, 88, 8, 99, 9}; 52 SimpleXYSeries series = new SimpleXYSeries(Arrays.asList(yVals), SimpleXYSeries.ArrayFormat.XY_VALS_INTERLEAVED, "test"); 53 54 assertEquals(5, series.getY(0)); 55 assertEquals(6, series.getY(1)); 56 assertEquals(7, series.getY(2)); 57 assertEquals(8, series.getY(3)); 58 assertEquals(9, series.getY(4)); 59 60 assertEquals(55, series.getX(0)); 61 assertEquals(66, series.getX(1)); 62 assertEquals(77, series.getX(2)); 63 assertEquals(88, series.getX(3)); 64 assertEquals(99, series.getX(4)); 65 } 66 67 @Test 68 public void testTwoListConstructor() throws Exception { 69 Number[] yVals = {5, 6, 7, 8, 9}; 70 Number[] xVals = {1, 2, 3, 4, 5}; 71 SimpleXYSeries series = new SimpleXYSeries(Arrays.asList(xVals), Arrays.asList(yVals), "test"); 72 73 assertEquals(5, series.getY(0)); 74 assertEquals(6, series.getY(1)); 75 assertEquals(7, series.getY(2)); 76 assertEquals(8, series.getY(3)); 77 assertEquals(9, series.getY(4)); 78 79 assertEquals(1, series.getX(0)); 80 assertEquals(2, series.getX(1)); 81 assertEquals(3, series.getX(2)); 82 assertEquals(4, series.getX(3)); 83 assertEquals(5, series.getX(4)); 84 } 85 86 @Test 87 public void testPushPopStuff() throws Exception { 88 Number[] yVals = {5, 6, 7, 8, 9}; 89 Number[] xVals = {1, 2, 3, 4, 5}; 90 SimpleXYSeries series = new SimpleXYSeries(Arrays.asList(xVals), Arrays.asList(yVals), "test"); 91 92 // chop off the tail: 93 series.removeLast(); 94 assertEquals(8, series.getY(series.size()-1)); 95 assertEquals(4, series.getX(series.size()-1)); 96 97 // chop off the head: 98 series.removeFirst(); 99 assertEquals(6, series.getY(0)); 100 assertEquals(2, series.getX(0)); 101 102 // add to the tail: 103 series.addLast(22, 33); 104 assertEquals(33, series.getY(series.size()-1)); 105 assertEquals(22, series.getX(series.size()-1)); 106 107 // add to the head: 108 series.addFirst(55, 66); 109 assertEquals(66, series.getY(0)); 110 assertEquals(55, series.getX(0)); 111 } 112 113 @Test 114 public void testSet() throws Exception { 115 Number[] yVals = {5, 6, 7, 8, 9}; 116 Number[] xVals = {1, 2, 3, 4, 5}; 117 SimpleXYSeries series = new SimpleXYSeries(Arrays.asList(xVals), Arrays.asList(yVals), "test"); 118 119 int size = series.size(); 120 121 series.setX(22, 2); 122 assertEquals(22, series.getX(2)); 123 124 // make sure size has not changed: 125 assertEquals(size, series.size()); 126 127 series.setY(23, 2); 128 assertEquals(23, series.getY(2)); 129 130 // make sure size has not changed: 131 assertEquals(size, series.size()); 132 } 133 134} 135