@ParameterizedTest
    @MethodSource("parametersForTestExampleStrategy")
    public void testExampleStrategy(String caseTitle, SchemaDefinitionNamingStrategy strategy, ResolvedType type,
            String expectedUriCompatibleName, String expectedPlainName) {
        Mockito.when(this.key.getType()).thenReturn(type);
        String result = strategy.getDefinitionNameForKey(this.key, this.generationContext);
        // before the produced name is used in an actual schema, the SchemaCleanUpUtils come into play one way or another
        SchemaCleanUpUtils cleanUpUtils = new SchemaCleanUpUtils(null);
        Assertions.assertEquals(expectedUriCompatibleName, cleanUpUtils.ensureDefinitionKeyIsUriCompatible(result));
        Assertions.assertEquals(expectedPlainName, cleanUpUtils.ensureDefinitionKeyIsPlain(result));
    }
Test/examples of possible {@link SchemaDefinitionNamingStrategy} implementations.
jsonschema-generator/src/test/java/com/github/victools/jsonschema/generator/naming/SchemaDefinitionNamingStrategyTest.java