Skip to content

Commit

Permalink
[#6][#7] add new dialog to add / remove projects to Maven view
Browse files Browse the repository at this point in the history
  • Loading branch information
slothsoft committed Sep 12, 2020
1 parent 1e1545f commit 2fcbd5c
Show file tree
Hide file tree
Showing 15 changed files with 1,055 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ public abstract class AbstractFetchMavenProjectsTest {
@Before
public void setUp() throws CoreException {
deleteAllProjects();
MavenViewPreferences.setAlwaysSelectedProjects(null);
MavenViewPreferences.setNeverSelectedProjects(null);
}

@After
Expand Down Expand Up @@ -244,4 +246,48 @@ public void testFetchMavenProjectsMultiNestedMavenProjectsSwitched() throws Exce
Assert.assertEquals(mavenProject1, mavenProjects[0]);
}
}

@Test
public void testNeverShown() throws Exception {
final IProject project = createProject();
setProjectNatures(project, InitialProjectSelection.MAVEN_NATURE);
MavenViewPreferences.setNeverSelectedProjects(project);

final IProject[] mavenProjects = fetchMavenProjects();

Assert.assertNotNull(mavenProjects);
Assert.assertEquals(0, mavenProjects.length);
}

@Test
public void testAlwaysShown() throws Exception {
final IProject mavenProject1 = createProject("1");
setProjectNatures(mavenProject1, InitialProjectSelection.MAVEN_NATURE);

final IProject mavenProject2 = createProject("2", mavenProject1.getLocation().append("2"));
setProjectNatures(mavenProject2, InitialProjectSelection.MAVEN_NATURE);
MavenViewPreferences.setAlwaysSelectedProjects(mavenProject2);

final IProject[] mavenProjects = fetchMavenProjects();

Assert.assertNotNull(mavenProjects);

Assert.assertEquals(2, mavenProjects.length);
Assert.assertEquals(mavenProject1, mavenProjects[0]);
Assert.assertEquals(mavenProject2, mavenProjects[1]);
}

@Test
public void testAlwaysShownButNotTwice() throws Exception {
final IProject project = createProject();
setProjectNatures(project, InitialProjectSelection.MAVEN_NATURE);
MavenViewPreferences.setAlwaysSelectedProjects(project);

final IProject[] mavenProjects = fetchMavenProjects();

Assert.assertNotNull(mavenProjects);
Assert.assertEquals(1, mavenProjects.length);
Assert.assertEquals(project, mavenProjects[0]);
}

}
Original file line number Diff line number Diff line change
@@ -1,9 +1,14 @@
package de.slothsoft.mavenview;

import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.jface.preference.IPreferenceStore;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TestName;

public class MavenViewPreferencesTest {

Expand All @@ -13,12 +18,22 @@ public class MavenViewPreferencesTest {
private static final Phase[] DISPLAYED_PHASES_DEFAULT = Phase.values();
private static final Phase[] DISPLAYED_PHASES_OTHER = new Phase[]{Phase.CLEAN, Phase.INSTALL};

@Rule
public TestName testName = new TestName();

private IPreferenceStore preferences;

@Before
public void setUp() throws Exception {
this.preferences = MavenViewPlugin.getDefault().getPreferenceStore();
this.preferences.setToDefault(MavenViewPreferences.INITIAL_PROJECT_SELECTION);

AbstractFetchMavenProjectsTest.deleteAllProjects();
}

@After
public void tearDown() throws CoreException {
AbstractFetchMavenProjectsTest.deleteAllProjects();
}

@Test
Expand Down Expand Up @@ -97,4 +112,152 @@ public void testSetDisplayedPhasesNull() throws Exception {
public void testGetDisplayedPhasesString() throws Exception {
Assert.assertEquals("CLEAN\nINSTALL", MavenViewPreferences.getDisplayedPhasesString(DISPLAYED_PHASES_OTHER));
}

// alwaysSelectedProjects

@Test
public void testGetAlwaysSelectedProject() throws Exception {
final String projectName = this.testName.getMethodName();
final IProject project = createProject(projectName);

this.preferences.setValue(MavenViewPreferences.ALWAYS_SELECTED_PROJECTS, projectName);

Assert.assertArrayEquals(new IProject[]{project}, MavenViewPreferences.getAlwaysSelectedProjects());
}

private static IProject createProject(String projectName) throws CoreException {
final IProject result = AbstractFetchMavenProjectsTest.createProject(projectName);
AbstractFetchMavenProjectsTest.setProjectNatures(result, InitialProjectSelection.MAVEN_NATURE);
return result;
}

@Test
public void testGetAlwaysSelectedProjects() throws Exception {
final String projectName1 = this.testName.getMethodName() + "-1";
final IProject project1 = createProject(projectName1);

final String projectName2 = this.testName.getMethodName() + "-2";
final IProject project2 = createProject(projectName2);

this.preferences.setValue(MavenViewPreferences.ALWAYS_SELECTED_PROJECTS,
projectName1 + MavenViewPreferences.SEPARATOR + projectName2);

Assert.assertArrayEquals(new IProject[]{project1, project2}, MavenViewPreferences.getAlwaysSelectedProjects());
}

@Test
public void testGetAlwaysSelectedProjectsNull() throws Exception {
this.preferences.setToDefault(MavenViewPreferences.ALWAYS_SELECTED_PROJECTS);

Assert.assertArrayEquals(new IProject[0], MavenViewPreferences.getAlwaysSelectedProjects());
}

@Test
public void testSetAlwaysSelectedProject() throws Exception {
final String projectName = this.testName.getMethodName();
final IProject project = createProject(projectName);

MavenViewPreferences.setAlwaysSelectedProjects(new IProject[]{project});

Assert.assertEquals(projectName, this.preferences.getString(MavenViewPreferences.ALWAYS_SELECTED_PROJECTS));
}

@Test
public void testSetAlwaysSelectedProjects() throws Exception {
final String projectName1 = this.testName.getMethodName() + "-1";
final IProject project1 = createProject(projectName1);

final String projectName2 = this.testName.getMethodName() + "-2";
final IProject project2 = createProject(projectName2);

MavenViewPreferences.setAlwaysSelectedProjects(project1, project2);

Assert.assertEquals(projectName1 + MavenViewPreferences.SEPARATOR + projectName2,
this.preferences.getString(MavenViewPreferences.ALWAYS_SELECTED_PROJECTS));
}

@Test
public void testSetAlwaysSelectedProjectsNull() throws Exception {
MavenViewPreferences.setAlwaysSelectedProjects((IProject[]) null);

Assert.assertEquals("", this.preferences.getString(MavenViewPreferences.ALWAYS_SELECTED_PROJECTS));
}

@Test
public void testSetAlwaysSelectedProjectsEmpty() throws Exception {
MavenViewPreferences.setAlwaysSelectedProjects(new IProject[0]);

Assert.assertEquals("", this.preferences.getString(MavenViewPreferences.ALWAYS_SELECTED_PROJECTS));
}

// neverSelectedProjects

@Test
public void testGetNeverSelectedProject() throws Exception {
final String projectName = this.testName.getMethodName();
final IProject project = createProject(projectName);

this.preferences.setValue(MavenViewPreferences.NEVER_SELECTED_PROJECTS, projectName);

Assert.assertArrayEquals(new IProject[]{project}, MavenViewPreferences.getNeverSelectedProjects());
}

@Test
public void testGetNeverSelectedProjects() throws Exception {
final String projectName1 = this.testName.getMethodName() + "-1";
final IProject project1 = createProject(projectName1);

final String projectName2 = this.testName.getMethodName() + "-2";
final IProject project2 = createProject(projectName2);

this.preferences.setValue(MavenViewPreferences.NEVER_SELECTED_PROJECTS,
projectName1 + MavenViewPreferences.SEPARATOR + projectName2);

Assert.assertArrayEquals(new IProject[]{project1, project2}, MavenViewPreferences.getNeverSelectedProjects());
}

@Test
public void testGetNeverSelectedProjectsNull() throws Exception {
this.preferences.setToDefault(MavenViewPreferences.NEVER_SELECTED_PROJECTS);

Assert.assertArrayEquals(new IProject[0], MavenViewPreferences.getNeverSelectedProjects());
}

@Test
public void testSetNeverSelectedProject() throws Exception {
final String projectName = this.testName.getMethodName();
final IProject project = createProject(projectName);

MavenViewPreferences.setNeverSelectedProjects(new IProject[]{project});

Assert.assertEquals(projectName, this.preferences.getString(MavenViewPreferences.NEVER_SELECTED_PROJECTS));
}

@Test
public void testSetNeverSelectedProjects() throws Exception {
final String projectName1 = this.testName.getMethodName() + "-1";
final IProject project1 = createProject(projectName1);

final String projectName2 = this.testName.getMethodName() + "-2";
final IProject project2 = createProject(projectName2);

MavenViewPreferences.setNeverSelectedProjects(project1, project2);

Assert.assertEquals(projectName1 + MavenViewPreferences.SEPARATOR + projectName2,
this.preferences.getString(MavenViewPreferences.NEVER_SELECTED_PROJECTS));
}

@Test
public void testSetNeverSelectedProjectsNull() throws Exception {
MavenViewPreferences.setNeverSelectedProjects((IProject[]) null);

Assert.assertEquals("", this.preferences.getString(MavenViewPreferences.NEVER_SELECTED_PROJECTS));
}

@Test
public void testSetNeverSelectedProjectsEmpty() throws Exception {
MavenViewPreferences.setNeverSelectedProjects(new IProject[0]);

Assert.assertEquals("", this.preferences.getString(MavenViewPreferences.NEVER_SELECTED_PROJECTS));
}
}
Loading

0 comments on commit 2fcbd5c

Please sign in to comment.