/* * Copyright (c) 2004-2011 Marco Maccaferri and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Marco Maccaferri - initial API and implementation */ package org.eclipsetrader.ui.internal.charts; import junit.framework.TestCase; import org.eclipse.core.runtime.IAdaptable; import org.eclipsetrader.core.charts.IDataSeries; import org.eclipsetrader.ui.charts.ChartParameters; import org.eclipsetrader.ui.charts.ChartViewItem; import org.eclipsetrader.ui.charts.IChartObject; import org.eclipsetrader.ui.charts.IChartObjectFactory; import org.eclipsetrader.ui.charts.IChartParameters; public class ChartViewItemPropertyTesterTest extends TestCase { private ChartViewItemPropertyTester tester = new ChartViewItemPropertyTester(); public void testIdProperty() throws Exception { ChartViewItem viewItem = new ChartViewItem(null, new ChartObjectFactoryMock(), "viewItem.id"); assertTrue(tester.test(viewItem, "id", new Object[0], "viewItem.id")); assertFalse(tester.test(viewItem, "id", new Object[0], "id")); } public void testObjectFactoryProperty() throws Exception { ChartViewItem viewItem = new ChartViewItem(null, new ChartObjectFactoryMock(), "viewItem.id"); assertTrue(tester.test(viewItem, "chartObjectFactory", new Object[0], "test.factory")); assertFalse(tester.test(viewItem, "chartObjectFactory", new Object[0], "factory")); } public void testUnknownProperty() throws Exception { ChartViewItem viewItem = new ChartViewItem(null, new ChartObjectFactoryMock(), "viewItem.id"); assertFalse(tester.test(viewItem, "unknownProperty", new Object[0], "viewItem.id")); } public void testNotChartViewItemObject() throws Exception { assertFalse(tester.test("test", "id", new Object[0], "test")); assertFalse(tester.test("test", "chartObjectFactory", new Object[0], "test")); } public void testAdaptsProperty() throws Exception { ChartViewItem viewItem = new ChartViewItem(null, new ChartObjectFactoryMock("Adapter Object"), "viewItem.id"); assertTrue(tester.test(viewItem, "adapts", new Object[0], "java.lang.String")); assertTrue(tester.test(viewItem, "adapts", new Object[0], IAdaptable.class.getName())); assertFalse(tester.test(viewItem, "adapts", new Object[0], "java.lang.Double")); } private class ChartObjectFactoryMock implements IChartObjectFactory, IAdaptable { private Object reference; public ChartObjectFactoryMock() { } public ChartObjectFactoryMock(Object reference) { this.reference = reference; } /* (non-Javadoc) * @see org.eclipsetrader.ui.charts.IChartObjectFactory#createObject(org.eclipsetrader.core.charts.IDataSeries) */ @Override public IChartObject createObject(IDataSeries source) { return null; } /* (non-Javadoc) * @see org.eclipsetrader.ui.charts.IChartObjectFactory#getId() */ @Override public String getId() { return "test.factory"; } /* (non-Javadoc) * @see org.eclipsetrader.ui.charts.IChartObjectFactory#getName() */ @Override public String getName() { return null; } /* (non-Javadoc) * @see org.eclipsetrader.ui.charts.IChartObjectFactory#getParameters() */ @Override public IChartParameters getParameters() { ChartParameters parameters = new ChartParameters(); return parameters; } /* (non-Javadoc) * @see org.eclipsetrader.ui.charts.IChartObjectFactory#setParameters(org.eclipsetrader.ui.charts.IChartParameters) */ @Override public void setParameters(IChartParameters parameters) { } /* (non-Javadoc) * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class) */ @Override @SuppressWarnings("unchecked") public Object getAdapter(Class adapter) { if (reference != null && adapter.isAssignableFrom(reference.getClass())) { return reference; } return null; } } }