Class DisplayNameGenerator.IndicativeSentences
- java.lang.Object
-
- org.junit.jupiter.api.DisplayNameGenerator.IndicativeSentences
-
- All Implemented Interfaces:
DisplayNameGenerator
- Enclosing interface:
- DisplayNameGenerator
@API(status=STABLE, since="5.10") public static class DisplayNameGenerator.IndicativeSentences extends java.lang.Object implements DisplayNameGenerator
DisplayNameGenerator
that generates complete sentences.This generator generates display names that build up complete sentences by concatenating the names of the test and the enclosing classes. The sentence fragments are concatenated using a separator. The separator and the display name generator for individual sentence fragments can be configured via the
@IndicativeSentencesGeneration
annotation.- Since:
- 5.7
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.junit.jupiter.api.DisplayNameGenerator
DisplayNameGenerator.IndicativeSentences, DisplayNameGenerator.ReplaceUnderscores, DisplayNameGenerator.Simple, DisplayNameGenerator.Standard
-
-
Field Summary
Fields Modifier and Type Field Description (package private) static DisplayNameGenerator
INSTANCE
-
Fields inherited from interface org.junit.jupiter.api.DisplayNameGenerator
DEFAULT_GENERATOR_PROPERTY_NAME
-
-
Constructor Summary
Constructors Constructor Description IndicativeSentences()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static java.util.Optional<DisplayNameGeneration>
findDisplayNameGeneration(java.lang.Class<?> testClass)
Find the firstDisplayNameGeneration
annotation that is either directly present, meta-present, or indirectly present on the suppliedtestClass
or on an enclosing class.private static java.util.Optional<IndicativeSentencesGeneration>
findIndicativeSentencesGeneration(java.lang.Class<?> testClass)
Find the firstIndicativeSentencesGeneration
annotation that is either directly present, meta-present, or indirectly present on the suppliedtestClass
or on an enclosing class.java.lang.String
generateDisplayNameForClass(java.lang.Class<?> testClass)
Generate a display name for the given top-level orstatic
nested test class.java.lang.String
generateDisplayNameForMethod(java.lang.Class<?> testClass, java.lang.reflect.Method testMethod)
Generate a display name for the given method.java.lang.String
generateDisplayNameForNestedClass(java.lang.Class<?> nestedClass)
Generate a display name for the given@Nested
inner test class.private static java.lang.String
getFragmentSeparator(java.lang.Class<?> testClass)
Get the sentence fragment separator.private static DisplayNameGenerator
getGeneratorFor(java.lang.Class<?> testClass)
Get the display name generator to use for the supplied test class.private java.lang.String
getSentenceBeginning(java.lang.Class<?> testClass)
private static java.util.function.Predicate<java.lang.Class<?>>
not(java.lang.Class<?> clazz)
-
-
-
Field Detail
-
INSTANCE
static final DisplayNameGenerator INSTANCE
-
-
Method Detail
-
generateDisplayNameForClass
public java.lang.String generateDisplayNameForClass(java.lang.Class<?> testClass)
Description copied from interface:DisplayNameGenerator
Generate a display name for the given top-level orstatic
nested test class.If it returns
null
, the default display name generator will be used instead.- Specified by:
generateDisplayNameForClass
in interfaceDisplayNameGenerator
- Parameters:
testClass
- the class to generate a name for; nevernull
- Returns:
- the display name for the class; never blank
-
generateDisplayNameForNestedClass
public java.lang.String generateDisplayNameForNestedClass(java.lang.Class<?> nestedClass)
Description copied from interface:DisplayNameGenerator
Generate a display name for the given@Nested
inner test class.If it returns
null
, the default display name generator will be used instead.- Specified by:
generateDisplayNameForNestedClass
in interfaceDisplayNameGenerator
- Parameters:
nestedClass
- the class to generate a name for; nevernull
- Returns:
- the display name for the nested class; never blank
-
generateDisplayNameForMethod
public java.lang.String generateDisplayNameForMethod(java.lang.Class<?> testClass, java.lang.reflect.Method testMethod)
Description copied from interface:DisplayNameGenerator
Generate a display name for the given method.If it returns
null
, the default display name generator will be used instead.- Specified by:
generateDisplayNameForMethod
in interfaceDisplayNameGenerator
- Parameters:
testClass
- the class the test method is invoked on; nevernull
testMethod
- method to generate a display name for; nevernull
- Returns:
- the display name for the test; never blank
-
getSentenceBeginning
private java.lang.String getSentenceBeginning(java.lang.Class<?> testClass)
-
getFragmentSeparator
private static java.lang.String getFragmentSeparator(java.lang.Class<?> testClass)
Get the sentence fragment separator.If
@IndicativeSentencesGeneration
is present (searching enclosing classes if not found locally), the configuredseparator
will be used. Otherwise,IndicativeSentencesGeneration.DEFAULT_SEPARATOR
will be used.- Parameters:
testClass
- the test class to search on for@IndicativeSentencesGeneration
- Returns:
- the sentence fragment separator
-
getGeneratorFor
private static DisplayNameGenerator getGeneratorFor(java.lang.Class<?> testClass)
Get the display name generator to use for the supplied test class.If
@IndicativeSentencesGeneration
is present (searching enclosing classes if not found locally), the configuredgenerator
will be used. Otherwise,IndicativeSentencesGeneration.DEFAULT_GENERATOR
will be used.- Parameters:
testClass
- the test class to search on for@IndicativeSentencesGeneration
- Returns:
- the
DisplayNameGenerator
instance to use
-
findDisplayNameGeneration
private static java.util.Optional<DisplayNameGeneration> findDisplayNameGeneration(java.lang.Class<?> testClass)
Find the firstDisplayNameGeneration
annotation that is either directly present, meta-present, or indirectly present on the suppliedtestClass
or on an enclosing class.- Parameters:
testClass
- the test class on which to find the annotation; nevernull
- Returns:
- an
Optional
containing the annotation, potentially empty if not found
-
findIndicativeSentencesGeneration
private static java.util.Optional<IndicativeSentencesGeneration> findIndicativeSentencesGeneration(java.lang.Class<?> testClass)
Find the firstIndicativeSentencesGeneration
annotation that is either directly present, meta-present, or indirectly present on the suppliedtestClass
or on an enclosing class.- Parameters:
testClass
- the test class on which to find the annotation; nevernull
- Returns:
- an
Optional
containing the annotation, potentially empty if not found
-
not
private static java.util.function.Predicate<java.lang.Class<?>> not(java.lang.Class<?> clazz)
-
-