InstanceModel instance2 = new InstanceModel(OBJECT2, TEST_DEF1, OBJECT2_SOURCE, TYPE_CHARSEQUENCE, Arrays.asList(),
Arrays.asList());
model2.addDefinition(instance2);
DefinitionModelStore store = getDefinitionModelStore(testFolder.getRoot());
TestErrorListener el = new TestErrorListener();
List<DefinitionModel> definitions = Arrays.asList(model1, model2);
new DefinitionJoiner().joinDefinitions(definitions, store, el);
Set<DefinitionModel> definitionHeads = new DefinitionGraphInpector().inspectDefinitionGraph(definitions, el);
assertThat(el.getErrors()).isEmpty();
new DefinitionContentInspector().inspectDefinitionGraph(definitionHeads, el, new ReflectionAssignabilityUtils(), store);
assertThat(el.getErrors()).hasSize(1);
assertThat(el.getErrors().get(0).getMessage()).isEqualByComparingTo(ErrorType.UNMATCHED_TYPES);
com/salesforce/apt/graph/processing/TestObjectGraphInspector.java
com/salesforce/apt/graph/processing/TestObjectGraphInspector.java
List<DefinitionModel> definitions = Arrays.asList(model1, model2);
DefinitionModelStore store = getDefinitionModelStore(testFolder.getRoot());
new DefinitionJoiner().joinDefinitions(definitions, store, el);
assertThat(el.getErrors()).isEmpty();
Set<DefinitionModel> heads = new DefinitionGraphInpector().inspectDefinitionGraph(definitions, el);
assertThat(el.getErrors()).isEmpty();
new DefinitionContentInspector().inspectDefinitionGraph(heads, el, new ReflectionAssignabilityUtils(), store);
assertThat(el.getErrors()).hasSize(1);
* Since model2 depends on model1 and model2 has the duplicate bean name,
* the error will always be reported on model2, and model1 if it has a SourceElement.
assertThat(el.getErrors().get(0).getMessage()).isEqualTo(ErrorType.DUPLICATE_OBJECT_DEFINITIONS);
assertThat(el.getErrors().get(0).getInvolved()).containsOnly(model2);
com/salesforce/apt/graph/processing/TestObjectGraphInspector.java
com/salesforce/apt/graph/processing/TestObjectGraphInspector.java
Arrays.asList(new InstanceDependencyModel(OBJECT2, TYPE_STRING)), Arrays.asList());
model1.addDefinition(instance1);
TestErrorListener el = new TestErrorListener();
List<DefinitionModel> definitions = Arrays.asList(model1);
new DefinitionJoiner().joinDefinitions(definitions, store, el);
assertThat(el.getErrors()).isEmpty();
Set<DefinitionModel> heads = new DefinitionGraphInpector().inspectDefinitionGraph(definitions, el);
assertThat(el.getErrors()).isEmpty();
new DefinitionContentInspector().inspectDefinitionGraph(heads, el, new ReflectionAssignabilityUtils(), store);
* Since model1 has an instance, object1 that depends on and expected object2, that is not
* declared by model1 as an expected instance.
assertThat(el.getErrors()).hasSize(1);
assertThat(el.getErrors().get(0).getMessage()).isEqualTo(ErrorType.MISSING_BEAN_DEFINITIONS);
com/salesforce/apt/graph/processing/TestObjectGraphInspector.java
com/salesforce/apt/graph/processing/TestObjectGraphInspector.java
Arrays.asList(), Arrays.asList(OBJECT3));
model1.addDefinition(instance1);
model1.addDefinition(instance2);
TestErrorListener el = new TestErrorListener();
List<DefinitionModel> definitions = Arrays.asList(model1);
DefinitionModelStore store = getDefinitionModelStore(testFolder.getRoot());
new DefinitionJoiner().joinDefinitions(definitions, store, el);
assertThat(el.getErrors()).isEmpty();
Set<DefinitionModel> heads = new DefinitionGraphInpector().inspectDefinitionGraph(definitions, el);
assertThat(el.getErrors()).isEmpty();
new DefinitionContentInspector().inspectDefinitionGraph(heads, el, new ReflectionAssignabilityUtils(), store);
assertThat(el.getErrors()).hasSize(0);
com/salesforce/apt/graph/processing/TestObjectGraphInspector.java
com/salesforce/apt/graph/processing/TestObjectGraphInspector.java
model2.addDefinition(new InstanceModel(OBJECT2, TEST_DEF2, OBJECT2_SOURCE, TYPE_STRING, Arrays.asList(), Arrays.asList()));
TestErrorListener el = new TestErrorListener();
List<DefinitionModel> definitions = Arrays.asList(model1, model2);
DefinitionModelStore store = getDefinitionModelStore(testFolder.getRoot());
new DefinitionJoiner().joinDefinitions(definitions, store, el);
assertThat(el.getErrors()).isEmpty();
Set<DefinitionModel> heads = new DefinitionGraphInpector().inspectDefinitionGraph(definitions, el);
assertThat(el.getErrors()).isEmpty();
new DefinitionContentInspector().inspectDefinitionGraph(heads, el, new ReflectionAssignabilityUtils(), store);
assertThat(el.getErrors()).hasSize(0);
com/salesforce/apt/graph/processing/TestObjectGraphInspector.java
com/salesforce/apt/graph/processing/TestObjectGraphInspector.java
com/salesforce/apt/graph/processing/TestObjectGraphInspector.java
com/salesforce/apt/graph/processing/TestObjectGraphInspector.java
DefinitionModelStore store = getDefinitionModelStore(testFolder.getRoot());
new DefinitionJoiner().joinDefinitions(definitions, store, el);
assertThat(el.getErrors()).isEmpty();
Set<DefinitionModel> heads = new DefinitionGraphInpector().inspectDefinitionGraph(definitions, el);
assertThat(el.getErrors()).isEmpty();
new DefinitionContentInspector().inspectDefinitionGraph(heads, el, new ReflectionAssignabilityUtils(), store);
assertThat(el.getErrors()).hasSize(1);
* Since model2 depends on model1 and model2 has the duplicate bean name,
* the error will always be reported on model2, and model1 if it has a SourceElement.
assertThat(el.getErrors().get(0).getMessage()).isEqualTo(ErrorType.DUPLICATE_OBJECT_DEFINITIONS);
com/salesforce/apt/graph/processing/TestObjectGraphInspector.java
com/salesforce/apt/graph/processing/TestObjectGraphInspector.java
List<DefinitionModel> definitions = Arrays.asList(model1, model2);
DefinitionModelStore store = getDefinitionModelStore(testFolder.getRoot());
new DefinitionJoiner().joinDefinitions(definitions, store, el);
assertThat(el.getErrors()).isEmpty();
Set<DefinitionModel> heads = new DefinitionGraphInpector().inspectDefinitionGraph(definitions, el);
assertThat(el.getErrors()).isEmpty();
new DefinitionContentInspector().inspectDefinitionGraph(heads, el, new ReflectionAssignabilityUtils(), store);
assertThat(el.getErrors()).hasSize(0);
@Test
public void inspectGraphWithDuplicateIdentities() {