Skip to content

Commit

Permalink
Added test prefix (#25)
Browse files Browse the repository at this point in the history
  • Loading branch information
DTselikis authored Feb 5, 2025
1 parent d6d9cfc commit dad3c1c
Show file tree
Hide file tree
Showing 6 changed files with 47 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,12 @@ private void setEventTargetClass() {
this.targetClass = this.targetTest;
} else if (psiService.doesClassExists(this.targetTest.split(MutationConstants.TEST_CLASS_SUFFIX.getValue())[0])) {
this.targetClass = this.targetTest.split(MutationConstants.TEST_CLASS_SUFFIX.getValue())[0];
} else {
String[] testPathAndClass = this.targetTest.split(MutationConstants.TEST_CLASS_PREFIX.getValue());

if (psiService.doesClassExists(StringUtils.join(testPathAndClass))) {
this.targetClass = StringUtils.join(testPathAndClass);
}
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ public enum MutationConstants {
WILDCARD_SUFFIX_REGEX("\\.\\*"),
PACKAGE_WILDCARD_SUFFIX(".*"),
TEST_CLASS_SUFFIX("Test"),
TEST_CLASS_PREFIX("Test"),
WILDCARD_SUFFIX("*");

private String value;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,7 @@ public String determineTargetTest(final PsiClass psiClass) {
public String determineTargetClass(final String targetTest, final PsiClass psiClass) {
return Optional.ofNullable(targetTest)
.map(testClassName -> StringUtils.removeEnd(testClassName, MutationConstants.TEST_CLASS_SUFFIX.getValue()))
.map(testClassName -> StringUtils.removeStart(testClassName, MutationConstants.TEST_CLASS_SUFFIX.getValue()))
.filter(this::doesClassExists)
.orElseGet(() -> Optional.of(psiClass)
.map(PsiClass::getContainingFile)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@
import org.mockito.ArgumentCaptor;
import org.mockito.Mock;
import org.mockito.MockedStatic;
import org.mockito.Mockito;
import org.mockito.junit.jupiter.MockitoExtension;

import static org.junit.jupiter.api.Assertions.assertEquals;
Expand Down Expand Up @@ -245,7 +246,20 @@ void testActionPerformed_selectedFile() {
verify(mutationConfigurationOptions).setTargetClasses("packageName.className");
assertEquals("packageName.classNameTest", underTest.getTargetTest());
assertEquals("packageName.className", underTest.getTargetClass());
verify(executionManager).restartRunProfile(executionEnvironment);

when(psiJavaFile.getPackageName()).thenReturn("packageName.subPackageName");
when(psiJavaFile.getName()).thenReturn("TestClassName.java");
when(psiService.doesClassExists("packageName.subPackageName.")).thenReturn(false);
when(psiService.doesClassExists("packageName.subPackageName.ClassName")).thenReturn(true);
when(configurationService.getOrCreateMutationConfiguration(project, "packageName.subPackageName.TestClassName")).thenReturn(mutationConfiguration);

underTest.actionPerformed(anActionEvent);

verify(mutationConfigurationOptions).setTargetTests("packageName.subPackageName.TestClassName");
verify(mutationConfigurationOptions).setTargetClasses("packageName.subPackageName.ClassName");
assertEquals("packageName.subPackageName.TestClassName", underTest.getTargetTest());
assertEquals("packageName.subPackageName.ClassName", underTest.getTargetClass());
verify(executionManager, Mockito.times(2)).restartRunProfile(executionEnvironment);
}

@AfterEach
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.Mock;
import org.mockito.MockedStatic;
import org.mockito.Mockito;
import org.mockito.junit.jupiter.MockitoExtension;

import static org.junit.jupiter.api.Assertions.assertArrayEquals;
Expand Down Expand Up @@ -89,6 +90,23 @@ void testGetInfo() {
verify(psiService).determineTargetClass("targetTest", psiClass);
verify(messageService).executionMessage("run.text");
mutationActionMockedStatic.verify(() -> MutationAction.getSingletonActions("targetClass", "targetTest"));

when(psiService.determineTargetTest(psiClass)).thenReturn("TestTarget");
when(psiService.determineTargetClass("TestTarget", psiClass)).thenReturn("TargetClass");
when(messageService.executionMessage("run.text")).thenReturn("Run Text");
mutationActionMockedStatic.when(() -> MutationAction.getSingletonActions("TargetClass", "TestTarget")).thenReturn(mutationActions);

final RunLineMarkerContributor.Info result2 = underTest.getInfo(psiIdentifier);

assertNotNull(result2);
assertNotNull(result2.tooltipProvider);
assertEquals(Icons.MUTATIONx12, result2.icon);
assertArrayEquals(mutationActions, result2.actions);
assertEquals("Run Text", result2.tooltipProvider.apply(null));
verify(psiService, Mockito.times(2)).determineTargetTest(psiClass);
verify(psiService).determineTargetClass("TestTarget", psiClass);
verify(messageService, Mockito.times(2)).executionMessage("run.text");
mutationActionMockedStatic.verify(() -> MutationAction.getSingletonActions("TargetClass", "TestTarget"));
}

@AfterEach
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -266,6 +266,12 @@ void testDetermineTargetClass_classExists() {
doReturn(true).when(underTest).doesClassExists("targetClass");

assertEquals("targetClass", underTest.determineTargetClass(targetTest, psiClass));

final String targetTestWithPrefix = "TestTargetClass";

doReturn(true).when(underTest).doesClassExists("TargetClass");

assertEquals("TargetClass", underTest.determineTargetClass(targetTestWithPrefix, psiClass));
}

@Test
Expand Down

0 comments on commit dad3c1c

Please sign in to comment.