org.eclipse.egit.core.test.PreferredMergeStrategyTest.java Source code

Java tutorial

Introduction

Here is the source code for org.eclipse.egit.core.test.PreferredMergeStrategyTest.java

Source

/*******************************************************************************
 * Copyright (C) 2015 Obeo 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
 *******************************************************************************/
package org.eclipse.egit.core.test;

import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertSame;

import org.eclipse.core.runtime.preferences.InstanceScope;
import org.eclipse.egit.core.Activator;
import org.eclipse.egit.core.GitCorePreferences;
import org.eclipse.jgit.merge.MergeStrategy;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

public class PreferredMergeStrategyTest {

    private Activator a;

    /**
     * Removes any preference about preferred merge strategy before any test.
     */
    @Before
    public void setUp() {
        a = Activator.getDefault();
        InstanceScope.INSTANCE.getNode(Activator.getPluginId())
                .remove(GitCorePreferences.core_preferredMergeStrategy);
    }

    /**
     * Removes any preference about preferred merge strategy after any test.
     */
    @After
    public void tearDown() {
        InstanceScope.INSTANCE.getNode(Activator.getPluginId())
                .remove(GitCorePreferences.core_preferredMergeStrategy);
    }

    @Test
    public void testGetDefaultPreferredMergeStrategy() {
        assertNull(a.getPreferredMergeStrategy());
    }

    @Test
    public void testGetPreferredMergeStrategyWhenNoPref() {
        InstanceScope.INSTANCE.getNode(Activator.getPluginId())
                .remove(GitCorePreferences.core_preferredMergeStrategy);

        assertNull(a.getPreferredMergeStrategy());
    }

    @Test
    public void testGetPreferredMergeStrategyWhenInvalidPreference() {
        // Using "invalid value" simulates a property set to a merge strategy
        // that's no longer registered
        InstanceScope.INSTANCE.getNode(Activator.getPluginId()).put(GitCorePreferences.core_preferredMergeStrategy,
                "invalid value");

        assertNull(a.getPreferredMergeStrategy());
    }

    @Test
    public void testGetPreferredMergeStrategyWhenValidPreference() {
        // Using "resolve" here because there's no need for more configuration
        // in this test, it is a registered MergeStrategy
        InstanceScope.INSTANCE.getNode(Activator.getPluginId()).put(GitCorePreferences.core_preferredMergeStrategy,
                "resolve");

        assertSame(MergeStrategy.RESOLVE, a.getPreferredMergeStrategy());
    }
}