/* * 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.charts; import junit.framework.TestCase; import org.eclipsetrader.core.charts.repository.IChartTemplate; import org.eclipsetrader.core.internal.charts.repository.ChartTemplate; import org.eclipsetrader.core.views.IViewChangeListener; import org.eclipsetrader.core.views.ViewEvent; import org.eclipsetrader.core.views.ViewItemDelta; public class ChartViewTest extends TestCase { private ViewEvent viewEvent; private IViewChangeListener listener = new IViewChangeListener() { @Override public void viewChanged(ViewEvent event) { viewEvent = event; } }; /* (non-Javadoc) * @see junit.framework.TestCase#setUp() */ @Override protected void setUp() throws Exception { viewEvent = null; } public void testCreateFromEmptyTemplate() throws Exception { ChartTemplate template = new ChartTemplate("Test"); ChartView view = new ChartView(template); assertEquals("Test", view.getName()); assertEquals(0, view.getItems().length); } public void testGetTemplateFromEmptyDocument() throws Exception { ChartView view = new ChartView("Test"); IChartTemplate template = view.getTemplate(); assertEquals("Test", template.getName()); assertEquals(0, template.getSections().length); } public void testNotifyRowAdded() throws Exception { ChartView view = new ChartView(); ChartRowViewItem viewItem = new ChartRowViewItem(view, "Test"); view.addViewChangeListener(listener); view.addRow(viewItem); assertNotNull(viewEvent); assertEquals(1, viewEvent.getDelta().length); assertEquals(ViewItemDelta.ADDED, viewEvent.getDelta()[0].getKind()); assertSame(viewItem, viewEvent.getDelta()[0].getViewItem()); } public void testNotifyRowRemoved() throws Exception { ChartView view = new ChartView(); ChartRowViewItem viewItem = new ChartRowViewItem(view, "Test"); view.addRow(viewItem); view.addViewChangeListener(listener); view.removeRow(viewItem); assertNotNull(viewEvent); assertEquals(1, viewEvent.getDelta().length); assertEquals(ViewItemDelta.REMOVED, viewEvent.getDelta()[0].getKind()); assertSame(viewItem, viewEvent.getDelta()[0].getViewItem()); } }