/* * This is part of Geomajas, a GIS framework, http://www.geomajas.org/. * * Copyright 2008-2015 Geosparc nv, http://www.geosparc.com/, Belgium. * * The program is available in open source according to the GNU Affero * General Public License. All contributions in this program are covered * by the Geomajas Contributors License Agreement. For full licensing * details, see LICENSE.txt in the project root. */ package org.geomajas.gwt2.plugin.print.client.widget; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.reset; import static org.mockito.Mockito.stub; import junit.framework.Assert; import org.geomajas.gwt2.client.map.MapPresenter; import org.geomajas.gwt2.plugin.print.client.Print; import org.geomajas.gwt2.plugin.print.client.PrintViewFactory; import org.geomajas.gwt2.plugin.print.client.widget.PrintWidget; import org.geomajas.gwt2.plugin.print.client.widget.PrintWidgetView; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import com.google.gwt.user.client.ui.Widget; import com.google.gwtmockito.GwtMockitoTestRunner; /** * Test class for {@link org.geomajas.gwt2.plugin.print.client.widget.PrintWidgetPresenterImpl}. * * @author Jan Venstermans */ @RunWith(GwtMockitoTestRunner.class) // for the final class GeomajasServerExtension public class PrintWidgetTest { private PrintWidget printWidget; @Mock private MapPresenter mapPresenterMock; @Mock private PrintWidgetView printWidgetViewMock; @Mock private Widget widgetMock; @Before public void constructDefaultWidget() { MockitoAnnotations.initMocks(this); Print.getInstance().setViewFactory(new PrintViewFactory() { public PrintWidgetView createPrintWidgetView() { return printWidgetViewMock; } }); printWidget = new PrintWidget(mapPresenterMock, "applicationId"); reset(mapPresenterMock); reset(printWidgetViewMock); stub(printWidgetViewMock.asWidget()).toReturn(widgetMock); } @Test public void defaultWidgetAsWidgetTest() { Assert.assertEquals(widgetMock, printWidget.asWidget()); } @Test public void customViewAsWidgetTest() { PrintWidgetView customPrintWidgetViewMock = mock(PrintWidgetView.class); Widget customWidgetMock = mock(Widget.class); stub(customPrintWidgetViewMock.asWidget()).toReturn(customWidgetMock); printWidget = new PrintWidget(mapPresenterMock, "applicationId", customPrintWidgetViewMock); Assert.assertEquals(customWidgetMock, printWidget.asWidget()); } }