Skip to content

Instantly share code, notes, and snippets.

@torrespro
Created November 1, 2021 21:31
Show Gist options
  • Save torrespro/42323300ae48cb59a31bb9b07d6ed7b4 to your computer and use it in GitHub Desktop.
Save torrespro/42323300ae48cb59a31bb9b07d6ed7b4 to your computer and use it in GitHub Desktop.
package designpatterns;
import java.lang.reflect.Method;
import org.junit.jupiter.api.DisplayNameGenerator;
class ReplaceCamelCase extends DisplayNameGenerator.Standard {
@Override
public String generateDisplayNameForClass(Class<?> testClass) {
return this.replaceCapitals(super.generateDisplayNameForClass(testClass));
}
@Override
public String generateDisplayNameForNestedClass(Class<?> nestedClass) {
return this.replaceCapitals(super.generateDisplayNameForNestedClass(nestedClass));
}
@Override
public String generateDisplayNameForMethod(Class<?> testClass, Method testMethod) {
return this.replaceCapitals(testMethod.getName());
}
private String replaceCapitals(String name) {
name = name.replaceAll("([A-Z])", " $1");
name = name.replaceAll("([0-9]+)", " $1");
return name;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment