@Test
    public void testReference_DifferentIgnoredDefinitionProvider() {
        ResolvedType javaType = Mockito.mock(ResolvedType.class);
        CustomDefinitionProviderV2 providerOne = null;
        CustomDefinitionProviderV2 providerTwo = Mockito.mock(CustomDefinitionProviderV2.class);
        DefinitionKey keyOne = new DefinitionKey(javaType, providerOne);
        DefinitionKey keyTwo = new DefinitionKey(javaType, providerTwo);

        // adding an entry creates the "references" list for that type
        ObjectNode referenceInputOne = Mockito.mock(ObjectNode.class);
        this.contextImpl.addReference(javaType, referenceInputOne, providerOne, false);
        Assertions.assertEquals(Collections.singletonList(referenceInputOne), this.contextImpl.getReferences(keyOne));
        Assertions.assertEquals(Collections.<ObjectNode>emptyList(), this.contextImpl.getReferences(keyTwo));

        // adding an entry for the same type but other ignored definition provider creates a separate "references" list for this other type
        ObjectNode referenceInputTwo = Mockito.mock(ObjectNode.class);
        this.contextImpl.addReference(javaType, referenceInputTwo, providerTwo, false);
        Assertions.assertEquals(Collections.singletonList(referenceInputOne), this.contextImpl.getReferences(keyOne));
        Assertions.assertEquals(Collections.singletonList(referenceInputTwo), this.contextImpl.getReferences(keyTwo));
    }
Test for the {@link SchemaGenerationContextImpl} class.
jsonschema-generator/src/test/java/com/github/victools/jsonschema/generator/impl/SchemaGenerationContextImplTest.java