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