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; 186224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 196224eda509d436a575f801942337da92a6c18767Eino-Ville Talvalaimport android.content.Context; 206224eda509d436a575f801942337da92a6c18767Eino-Ville Talvalaimport android.graphics.*; 216224eda509d436a575f801942337da92a6c18767Eino-Ville Talvalaimport android.os.Handler; 226224eda509d436a575f801942337da92a6c18767Eino-Ville Talvalaimport android.util.Log; 236224eda509d436a575f801942337da92a6c18767Eino-Ville Talvalaimport android.view.View; 246224eda509d436a575f801942337da92a6c18767Eino-Ville Talvalaimport com.androidplot.mock.MockContext; 256224eda509d436a575f801942337da92a6c18767Eino-Ville Talvalaimport com.androidplot.mock.MockPaint; 266224eda509d436a575f801942337da92a6c18767Eino-Ville Talvalaimport com.androidplot.ui.SeriesAndFormatterList; 276224eda509d436a575f801942337da92a6c18767Eino-Ville Talvalaimport com.androidplot.exception.PlotRenderException; 286224eda509d436a575f801942337da92a6c18767Eino-Ville Talvalaimport com.androidplot.ui.SeriesRenderer; 296224eda509d436a575f801942337da92a6c18767Eino-Ville Talvalaimport com.androidplot.ui.Formatter; 306224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala//import mockit.*; 316224eda509d436a575f801942337da92a6c18767Eino-Ville Talvalaimport com.androidplot.ui.widget.TextLabelWidget; 326224eda509d436a575f801942337da92a6c18767Eino-Ville Talvalaimport com.androidplot.util.Configurator; 336224eda509d436a575f801942337da92a6c18767Eino-Ville Talvalaimport com.androidplot.util.FontUtils; 346224eda509d436a575f801942337da92a6c18767Eino-Ville Talvalaimport com.androidplot.util.PixelUtils; 356224eda509d436a575f801942337da92a6c18767Eino-Ville Talvalaimport mockit.*; 366224eda509d436a575f801942337da92a6c18767Eino-Ville Talvalaimport org.junit.After; 376224eda509d436a575f801942337da92a6c18767Eino-Ville Talvalaimport org.junit.Before; 386224eda509d436a575f801942337da92a6c18767Eino-Ville Talvalaimport org.junit.Test; 396224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 406224eda509d436a575f801942337da92a6c18767Eino-Ville Talvalaimport java.util.ArrayList; 416224eda509d436a575f801942337da92a6c18767Eino-Ville Talvalaimport java.util.HashMap; 426224eda509d436a575f801942337da92a6c18767Eino-Ville Talvalaimport java.util.LinkedHashMap; 436224eda509d436a575f801942337da92a6c18767Eino-Ville Talvalaimport java.util.List; 446224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 456224eda509d436a575f801942337da92a6c18767Eino-Ville Talvalaimport static junit.framework.Assert.assertEquals; 466224eda509d436a575f801942337da92a6c18767Eino-Ville Talvalaimport static junit.framework.Assert.assertNotSame; 476224eda509d436a575f801942337da92a6c18767Eino-Ville Talvalaimport static junit.framework.Assert.assertNull; 486224eda509d436a575f801942337da92a6c18767Eino-Ville Talvalaimport static org.junit.Assert.assertFalse; 496224eda509d436a575f801942337da92a6c18767Eino-Ville Talvalaimport static org.junit.Assert.assertNotNull; 506224eda509d436a575f801942337da92a6c18767Eino-Ville Talvalaimport static org.junit.Assert.assertTrue; 516224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 526224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala@UsingMocksAndStubs({Log.class, View.class,Handler.class,Paint.class,Color.class, 536224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala RectF.class, Rect.class, FontUtils.class, Canvas.class, 546224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala PixelUtils.class,Context.class}) 556224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 566224eda509d436a575f801942337da92a6c18767Eino-Ville Talvalapublic class PlotTest { 576224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 586224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala static class MockPlotListener implements PlotListener { 596224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 606224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala @Override 616224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala public void onBeforeDraw(Plot source, Canvas canvas) {} 626224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 636224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala @Override 646224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala public void onAfterDraw(Plot source, Canvas canvas) {} 656224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } 666224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 676224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala static class MockSeries implements Series { 686224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala @Override 696224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala public String getTitle() { 706224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala return null; 716224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } 726224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 736224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } 746224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 756224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala static class MockSeries2 implements Series { 766224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala @Override 776224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala public String getTitle() { 786224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala return null; 796224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } 806224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } 816224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 826224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala static class MockSeries3 implements Series { 836224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala @Override 846224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala public String getTitle() { 856224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala return null; 866224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } 876224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } 886224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 896224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala static class MockRenderer1 extends SeriesRenderer { 906224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 916224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala public MockRenderer1(Plot plot) { 926224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala super(plot); 936224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } 946224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 956224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala @Override 966224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala public void onRender(Canvas canvas, RectF plotArea) throws PlotRenderException { 976224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 986224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } 996224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 1006224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala @Override 1016224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala public void doDrawLegendIcon(Canvas canvas, RectF rect, Formatter formatter) { 1026224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 1036224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } 1046224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } 1056224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala static class MockRenderer2 extends SeriesRenderer { 1066224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 1076224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala public MockRenderer2(Plot plot) { 1086224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala super(plot); 1096224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } 1106224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 1116224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala @Override 1126224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala public void onRender(Canvas canvas, RectF plotArea) throws PlotRenderException { 1136224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 1146224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } 1156224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 1166224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala @Override 1176224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala public void doDrawLegendIcon(Canvas canvas, RectF rect, Formatter formatter) { 1186224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 1196224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } 1206224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } 1216224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 1226224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala static class MockFormatter1 extends Formatter<MockPlot> { 1236224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 1246224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala @Override 1256224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala public Class<? extends SeriesRenderer> getRendererClass() { 1266224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala return MockRenderer1.class; 1276224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } 1286224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 1296224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala @Override 1306224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala public SeriesRenderer getRendererInstance(MockPlot plot) { 1316224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala return new MockRenderer1(plot); 1326224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } 1336224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } 1346224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 1356224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala static class MockFormatter2 extends Formatter<MockPlot> { 1366224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 1376224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala @Override 1386224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala public Class<? extends SeriesRenderer> getRendererClass() { 1396224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala return MockRenderer2.class; 1406224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } 1416224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 1426224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala @Override 1436224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala public SeriesRenderer getRendererInstance(MockPlot plot) { 1446224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala return new MockRenderer2(plot); 1456224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } 1466224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } 1476224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 1486224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala //@MockClass(realClass = Plot.class) 1496224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala public static class MockPlot extends Plot<MockSeries, Formatter, SeriesRenderer> { 1506224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala public MockPlot(Context context, String title) { 1516224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala super(context, title); 1526224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } 1536224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 1546224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala @Override 1556224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala protected void onPreInit() { 1566224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 1576224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } 1586224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 1596224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala /*@Override 1606224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala protected SeriesRenderer doGetRendererInstance(Class clazz) { 1616224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala if(clazz == MockRenderer1.class) { 1626224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala return new MockRenderer1(this); 1636224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } else if(clazz == MockRenderer2.class) { 1646224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala return new MockRenderer2(this); 1656224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } else { 1666224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala return null; 1676224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } 1686224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala }*/ 1696224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } 1706224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 1716224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala @Before 1726224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala public void setUp() throws Exception { 1736224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala Mockit.setUpMocks(MockPaint.class,MockContext.class); 1746224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } 1756224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 1766224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala @After 1776224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala public void tearDown() throws Exception { 1786224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 1796224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } 1806224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 1816224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala @Test 1826224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala public void testAddSeries() throws Exception { 1836224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala Context context = Mockit.setUpMock(new MockContext()); 1846224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala //Plot plot = Mockit.setUpMock(Plot.class, new MockPlot(context, "MockPlot")); 1856224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala //Plot plot = Mockit.setUpMock(new MockPlot()); 1866224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala Plot plot = new MockPlot(context, "MockPlot"); 1876224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 1886224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala MockSeries m1 = new MockSeries(); 1896224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala Class cl = MockRenderer1.class; 1906224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 1916224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 1926224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 1936224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala plot.addSeries(m1, new MockFormatter1()); 1946224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 1956224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala LinkedHashMap<Class<SeriesRenderer>, SeriesAndFormatterList<MockSeries,MockFormatter1>> registry = Deencapsulation.getField(plot, "seriesRegistry"); 1966224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala assertEquals(1, registry.size()); 1976224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala assertEquals(1, registry.get(cl).size()); 1986224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 1996224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala plot.addSeries(m1, new MockFormatter1()); 2006224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 2016224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala // duplicate Renderer added, registry size should not grow: 2026224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala assertEquals(1, registry.size()); 2036224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala assertEquals(1, registry.get(cl).size()); 2046224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 2056224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala MockSeries m2 = new MockSeries(); 2066224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 2076224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala plot.addSeries(m2, new MockFormatter1()); 2086224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 2096224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala // still should only be one renderer type: 2106224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala assertEquals(1, registry.size()); 2116224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 2126224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala // we added a new instance of cl to the renderer so there should be 2 in the subregistry: 2136224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala assertEquals(2, registry.get(cl).size()); 2146224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 2156224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 2166224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala // lets add another renderer: 2176224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala plot.addSeries(m1, new MockFormatter2()); 2186224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 2196224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala assertEquals(2, registry.size()); 2206224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } 2216224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 2226224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala @Test 2236224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala public void testRemoveSeries() throws Exception { 2246224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 2256224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala Context context = Mockit.setUpMock(new MockContext()); 2266224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala Plot plot = new MockPlot(context, "MockPlot"); 2276224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala LinkedHashMap<Class<SeriesRenderer>, SeriesAndFormatterList<MockSeries,MockFormatter1>> registry = Deencapsulation.getField(plot, "seriesRegistry"); 2286224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 2296224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala MockSeries m1 = new MockSeries(); 2306224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala MockSeries m2 = new MockSeries(); 2316224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala MockSeries m3 = new MockSeries(); 2326224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 2336224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala plot.addSeries(m1, new MockFormatter1()); 2346224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala plot.addSeries(m2, new MockFormatter1()); 2356224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala plot.addSeries(m3, new MockFormatter1()); 2366224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 2376224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala plot.addSeries(m1, new MockFormatter2()); 2386224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala plot.addSeries(m2, new MockFormatter2()); 2396224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala plot.addSeries(m3, new MockFormatter2()); 2406224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 2416224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 2426224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala // a quick sanity check: 2436224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala assertEquals(2, registry.size()); 2446224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala assertEquals(3, registry.get(MockRenderer1.class).size()); 2456224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala assertEquals(3, registry.get(MockRenderer2.class).size()); 2466224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 2476224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala plot.removeSeries(m1, MockRenderer1.class); 2486224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala assertEquals(2, registry.get(MockRenderer1.class).size()); 2496224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 2506224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala plot.removeSeries(m2, MockRenderer1.class); 2516224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala assertEquals(1, registry.get(MockRenderer1.class).size()); 2526224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 2536224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala plot.removeSeries(m2, MockRenderer1.class); 2546224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala assertEquals(1, registry.get(MockRenderer1.class).size()); 2556224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 2566224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala plot.removeSeries(m3, MockRenderer1.class); 2576224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 2586224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala // all the elements should be gone from MockRenderer1, thus the renderer should 2596224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala // also be gone: 2606224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala assertNull(registry.get(MockRenderer1.class)); 2616224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 2626224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 2636224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala // add em all back 2646224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala plot.addSeries(m1, new MockFormatter1()); 2656224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala plot.addSeries(m2, new MockFormatter1()); 2666224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala plot.addSeries(m3, new MockFormatter1()); 2676224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 2686224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala plot.addSeries(m1, new MockFormatter1()); 2696224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala plot.addSeries(m2, new MockFormatter1()); 2706224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala plot.addSeries(m3, new MockFormatter1()); 2716224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 2726224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 2736224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala // a quick sanity check: 2746224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala assertEquals(2, registry.size()); 2756224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala assertEquals(3, registry.get(MockRenderer1.class).size()); 2766224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala assertEquals(3, registry.get(MockRenderer2.class).size()); 2776224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 2786224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala // now lets try removing a series from all renderers: 2796224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala plot.removeSeries(m1); 2806224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala assertEquals(2, registry.get(MockRenderer1.class).size()); 2816224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala assertEquals(2, registry.get(MockRenderer2.class).size()); 2826224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 2836224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala // and now lets remove the remaining series: 2846224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala plot.removeSeries(m2); 2856224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala plot.removeSeries(m3); 2866224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 2876224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala // nothing should be left: 2886224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala assertNull(registry.get(MockRenderer1.class)); 2896224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala assertNull(registry.get(MockRenderer2.class)); 2906224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } 2916224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 2926224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 2936224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala @Test 2946224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala public void testGetFormatter() throws Exception { 2956224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala Context context = Mockit.setUpMock(new MockContext()); 2966224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala Plot plot = new MockPlot(context, "MockPlot"); 2976224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala LinkedHashMap<Class<SeriesRenderer>, SeriesAndFormatterList<MockSeries,MockFormatter1>> registry = Deencapsulation.getField(plot, "seriesRegistry"); 2986224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 2996224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala MockSeries m1 = new MockSeries(); 3006224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala MockSeries m2 = new MockSeries(); 3016224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala MockSeries m3 = new MockSeries(); 3026224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 3036224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala MockFormatter1 f1 = new MockFormatter1(); 3046224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala MockFormatter1 f2 = new MockFormatter1(); 3056224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala MockFormatter2 f3 = new MockFormatter2(); 3066224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 3076224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala plot.addSeries(m1, f1); 3086224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala plot.addSeries(m2, f2); 3096224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala plot.addSeries(m3, new MockFormatter1()); 3106224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 3116224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala plot.addSeries(m1, new MockFormatter1()); 3126224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala plot.addSeries(m2, f3); 3136224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala plot.addSeries(m3, new MockFormatter1()); 3146224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 3156224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala assertEquals(registry.get(MockRenderer1.class).getFormatter(m1), f1); 3166224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala assertEquals(registry.get(MockRenderer1.class).getFormatter(m2), f2); 3176224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala assertEquals(registry.get(MockRenderer2.class).getFormatter(m2), f3); 3186224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 3196224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala assertNotSame(registry.get(MockRenderer2.class).getFormatter(m2), f1); 3206224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 3216224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } 3226224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 3236224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala @Test 3246224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala public void testGetSeriesListForRenderer() throws Exception { 3256224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 3266224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala Context context = Mockit.setUpMock(new MockContext()); 3276224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala Plot plot = new MockPlot(context, "MockPlot"); 3286224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala //LinkedHashMap<Class<SeriesRenderer>, SeriesAndFormatterList<MockSeries,MockFormatter1>> registry = Deencapsulation.getField(plot, "seriesRegistry"); 3296224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 3306224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala MockSeries m1 = new MockSeries(); 3316224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala MockSeries m2 = new MockSeries(); 3326224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala MockSeries m3 = new MockSeries(); 3336224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 3346224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala plot.addSeries(m1, new MockFormatter1()); 3356224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala plot.addSeries(m2, new MockFormatter1()); 3366224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala plot.addSeries(m3, new MockFormatter1()); 3376224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 3386224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala plot.addSeries(m1, new MockFormatter1()); 3396224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala plot.addSeries(m2, new MockFormatter1()); 3406224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala plot.addSeries(m3, new MockFormatter1()); 3416224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 3426224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala List<MockSeries> m1List = plot.getSeriesListForRenderer(MockRenderer1.class); 3436224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala assertEquals(3, m1List.size()); 3446224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala assertEquals(m1, m1List.get(0)); 3456224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala assertNotSame(m2, m1List.get(0)); 3466224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala assertEquals(m2, m1List.get(1)); 3476224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala assertEquals(m3, m1List.get(2)); 3486224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } 3496224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 3506224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala @Test 3516224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala public void testGetRendererList() throws Exception { 3526224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 3536224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala Context context = Mockit.setUpMock(new MockContext()); 3546224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala Plot plot = new MockPlot(context, "MockPlot"); 3556224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala //LinkedHashMap<Class<SeriesRenderer>, SeriesAndFormatterList<MockSeries,MockFormatter1>> registry = Deencapsulation.getField(plot, "seriesRegistry"); 3566224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 3576224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala MockSeries m1 = new MockSeries(); 3586224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala MockSeries m2 = new MockSeries(); 3596224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala MockSeries m3 = new MockSeries(); 3606224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 3616224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala plot.addSeries(m1, new MockFormatter1()); 3626224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala plot.addSeries(m2, new MockFormatter1()); 3636224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala plot.addSeries(m3, new MockFormatter1()); 3646224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 3656224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala plot.addSeries(m1, new MockFormatter2()); 3666224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala plot.addSeries(m2, new MockFormatter2()); 3676224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala plot.addSeries(m3, new MockFormatter2()); 3686224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 3696224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala List<SeriesRenderer> rList = plot.getRendererList(); 3706224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala assertEquals(2, rList.size()); 3716224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 3726224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala assertEquals(MockRenderer1.class, rList.get(0).getClass()); 3736224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala assertEquals(MockRenderer2.class, rList.get(1).getClass()); 3746224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } 3756224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 3766224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala @Test 3776224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala public void testAddListener() throws Exception { 3786224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala Context context = Mockit.setUpMock(new MockContext()); 3796224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala Plot plot = new MockPlot(context, "MockPlot"); 3806224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala ArrayList<PlotListener> listeners = Deencapsulation.getField(plot, "listeners"); 3816224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala //LinkedHashMap<Class<SeriesRenderer>, SeriesAndFormatterList<MockSeries,MockFormatter1>> registry = Deencapsulation.getField(plot, "seriesRegistry"); 3826224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 3836224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala assertEquals(0, listeners.size()); 3846224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 3856224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala MockPlotListener pl1 = new MockPlotListener(); 3866224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala MockPlotListener pl2 = new MockPlotListener(); 3876224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 3886224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala plot.addListener(pl1); 3896224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 3906224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala assertEquals(1, listeners.size()); 3916224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 3926224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala // should return false on a double entry attempt 3936224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala assertFalse(plot.addListener(pl1)); 3946224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 3956224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala // make sure the listener wasnt added anyway: 3966224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala assertEquals(1, listeners.size()); 3976224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 3986224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala plot.addListener(pl2); 3996224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 4006224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala assertEquals(2, listeners.size()); 4016224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 4026224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } 4036224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 4046224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala @Test 4056224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala public void testRemoveListener() throws Exception { 4066224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala Context context = Mockit.setUpMock(new MockContext()); 4076224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala Plot plot = new MockPlot(context, "MockPlot"); 4086224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala ArrayList<PlotListener> listeners = Deencapsulation.getField(plot, "listeners"); 4096224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala //LinkedHashMap<Class<SeriesRenderer>, SeriesAndFormatterList<MockSeries,MockFormatter1>> registry = Deencapsulation.getField(plot, "seriesRegistry"); 4106224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 4116224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala assertEquals(0, listeners.size()); 4126224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 4136224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala MockPlotListener pl1 = new MockPlotListener(); 4146224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala MockPlotListener pl2 = new MockPlotListener(); 4156224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala MockPlotListener pl3 = new MockPlotListener(); 4166224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 4176224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala plot.addListener(pl1); 4186224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala plot.addListener(pl2); 4196224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 4206224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala assertEquals(2, listeners.size()); 4216224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 4226224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala assertFalse(plot.removeListener(pl3)); 4236224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 4246224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala assertTrue(plot.removeListener(pl1)); 4256224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 4266224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala assertEquals(1, listeners.size()); 4276224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 4286224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala assertFalse(plot.removeListener(pl1)); 4296224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 4306224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala assertEquals(1, listeners.size()); 4316224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 4326224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala assertTrue(plot.removeListener(pl2)); 4336224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 4346224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala assertEquals(0, listeners.size()); 4356224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 4366224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } 4376224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 4386224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala /*@Test 4396224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala public void testGuessGetterName() throws Exception { 4406224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala Context context = Mockit.setUpMock(new MockContext()); 4416224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala Plot plot = new MockPlot(context, "MockPlot"); 4426224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 4436224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala Method m = Plot.class.getDeclaredMethod("guessGetterMethod", Object.class, String.class); 4446224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala assertNotNull(m); 4456224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } 4466224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 4476224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala @Test 4486224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala public void testGuessSetterName() throws Exception { 4496224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala Context context = Mockit.setUpMock(new MockContext()); 4506224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala Plot plot = new MockPlot(context, "MockPlot"); 4516224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 4526224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala Method m = Plot.class.getDeclaredMethod("guessSetterMethod", Object.class, String.class, Class.class); 4536224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala assertNotNull(m); 4546224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala }*/ 4556224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 4566224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 4576224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 4586224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala @Test 4596224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala public void testConfigure() throws Exception { 4606224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala //Context context = Mockit.setUpMock(new MockContext.MockContext2()); 4616224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala Context context = new MockContext.MockContext2(); 4626224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala Plot plot = new MockPlot(context, "MockPlot"); 4636224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 4646224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala HashMap<String, String> params = new HashMap<String, String>(); 4656224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala String param1 = "this is a test."; 4666224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala //String param2 = Plot.RenderMode.USE_BACKGROUND_THREAD.toString(); 4676224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala String param2 = "use_background_thread"; 4686224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala String param3 = "#FF0000"; 4696224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala params.put("title", param1); 4706224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala params.put("renderMode", param2); 4716224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala params.put("backgroundPaint.color", param3); 4726224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 4736224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 4746224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala //Method m = Plot.class.getDeclaredMethod("configure", params.getClass()); 4756224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala //m.setAccessible(true); 4766224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala //m.invoke(plot, params); 4776224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala Configurator.configure(context, plot, params); 4786224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 4796224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala assertEquals(param1, plot.getTitle()); 4806224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala assertEquals(Plot.RenderMode.USE_BACKGROUND_THREAD, plot.getRenderMode()); 4816224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala assertEquals(Color.parseColor(param3), plot.getBackgroundPaint().getColor()); 4826224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } 4836224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala} 484