blob: 980a94b290274d87e06a73450b9c18cb12828b8f [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2016, 2019 Chalmers | University of Gothenburg, rt-labs and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v2.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v20.html
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Chalmers | University of Gothenburg and rt-labs - initial API and implementation and/or initial documentation
* Chalmers | University of Gothenburg - additional features, updated API
*******************************************************************************/
package org.eclipse.capra.testsuite;
import java.util.ArrayList;
import java.util.Collection;
import org.eclipse.capra.core.handlers.IArtifactHandler;
import org.eclipse.capra.core.handlers.PriorityHandler;
import org.eclipse.capra.core.helpers.ExtensionPointHelper;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
public class TestDefaultPriorityHandler {
private IArtifactHandler<?> emfHandler;
private IArtifactHandler<?> buildElementHandler;
private IArtifactHandler<?> testElementHandler;
private PriorityHandler priorityHandler;
@Before
public void setup() {
priorityHandler = ExtensionPointHelper.getPriorityHandler().get();
emfHandler = ExtensionPointHelper.getArtifactHandler("org.eclipse.capra.handler.emf.EMFHandler").get();
testElementHandler = ExtensionPointHelper
.getArtifactHandler("org.eclipse.capra.handler.hudson.TestElementHandler").get();
buildElementHandler = ExtensionPointHelper
.getArtifactHandler("org.eclipse.capra.handler.hudson.BuildElementHandler").get();
}
@Test
public void testPrioritiesOrder() {
Collection<IArtifactHandler<?>> handlers = new ArrayList<>();
handlers.add(emfHandler);
handlers.add(buildElementHandler);
Assert.assertEquals(buildElementHandler, priorityHandler.getSelectedHandler(handlers, null));
// Turn order around
handlers.clear();
handlers.add(buildElementHandler);
handlers.add(emfHandler);
Assert.assertEquals(buildElementHandler, priorityHandler.getSelectedHandler(handlers, null));
}
@Test
public void testPrioritiesConflict() {
Collection<IArtifactHandler<?>> handlers = new ArrayList<>();
handlers.add(testElementHandler);
handlers.add(buildElementHandler);
// PriorityHandler should choose first element in list in case of a
// conflict
Assert.assertEquals(testElementHandler, priorityHandler.getSelectedHandler(handlers, null));
}
}