/** * Copyright (c) 2010, 2012 Darmstadt University of Technology. * 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: * Patrick Gottschaemmer, Olav Lenz - initial tests */ package org.eclipse.recommenders.tests.apidocs; import static org.junit.Assert.assertEquals; import static org.mockito.Mockito.*; import java.util.LinkedList; import java.util.List; import org.eclipse.recommenders.apidocs.rcp.ApidocProvider; import org.eclipse.recommenders.internal.apidocs.rcp.ApidocsPreferences; import org.eclipse.recommenders.internal.apidocs.rcp.ApidocsView; import org.eclipse.recommenders.internal.apidocs.rcp.SubscriptionManager; import org.junit.Before; import org.junit.Test; import com.google.common.collect.Lists; import com.google.common.eventbus.EventBus; public class DnDTest { private ApidocsView view; private List<ApidocProvider> defaultOrder; private ApidocProvider provider0; private ApidocProvider provider1; private ApidocProvider provider2; private ApidocProvider provider3; private ApidocProvider provider4; @Before public void setup() { EventBus bus = mock(EventBus.class); SubscriptionManager subManger = mock(SubscriptionManager.class); provider0 = createProviderMock("provider0"); provider1 = createProviderMock("provider1"); provider2 = createProviderMock("provider2"); provider3 = createProviderMock("provider3"); provider4 = createProviderMock("provider4"); List<ApidocProvider> providers = Lists.newArrayList(provider0, provider1, provider2, provider3, provider4); defaultOrder = new LinkedList<ApidocProvider>(providers); ApidocsPreferences preferences = mock(ApidocsPreferences.class); view = new ApidocsView(bus, subManger, providers, preferences); } private ApidocProvider createProviderMock(String name) { ApidocProvider mock = mock(ApidocProvider.class); when(mock.getId()).thenReturn(name); return mock; } @Test public void moveOnItselfBefore() { view.moveBefore(1, 1); assertEquals(defaultOrder, view.getProviderRanking()); } @Test public void moveOnItselfAfter() { view.moveAfter(0, 0); assertEquals(defaultOrder, view.getProviderRanking()); } @Test public void moveAfterNoChange() { view.moveAfter(3, 2); assertEquals(defaultOrder, view.getProviderRanking()); } @Test public void moveBeforeNoChange() { view.moveBefore(2, 3); assertEquals(defaultOrder, view.getProviderRanking()); } @Test public void moveBeforeTop() { view.moveBefore(4, 0); List<ApidocProvider> expectedOrder = Lists.newArrayList(provider4, provider0, provider1, provider2, provider3); assertEquals(expectedOrder, view.getProviderRanking()); } @Test public void moveAfterTop() { view.moveAfter(2, 0); List<ApidocProvider> expectedOrder = Lists.newArrayList(provider0, provider2, provider1, provider3, provider4); assertEquals(expectedOrder, view.getProviderRanking()); } @Test public void moveBeforeBottom() { view.moveBefore(2, 4); List<ApidocProvider> expectedOrder = Lists.newArrayList(provider0, provider1, provider3, provider2, provider4); assertEquals(expectedOrder, view.getProviderRanking()); } @Test public void moveAfterBottom() { view.moveAfter(2, 4); List<ApidocProvider> expectedOrder = Lists.newArrayList(provider0, provider1, provider3, provider4, provider2); assertEquals(expectedOrder, view.getProviderRanking()); } }