Skip to content

Commit

Permalink
Reset ModelAssembler's validationEventListener to default
Browse files Browse the repository at this point in the history
  • Loading branch information
gosar committed Mar 11, 2022
1 parent bbee4b7 commit 954697b
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,7 @@ public ModelAssembler reset() {
documentNodes.clear();
disablePrelude = false;
disableValidation = false;
validationEventListener = null;
validationEventListener = DEFAULT_EVENT_LISTENER;
return this;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -684,4 +684,27 @@ public void transientTraitsAreNotValidated() {
assertThat(model.expectShape(stringShape.getId()).expectTrait(OriginalShapeIdTrait.class).getOriginalId(),
equalTo(originalId));
}

@Test
public void resetDoesNotBarf() {
ModelAssembler assembler = new ModelAssembler();
assembler.assemble();
assembler.reset();
assembler.assemble();
}

// reset() affects multiple properties of the ModelAssembler. The test asserts one of them (shapes).
@Test
public void reset() {
ModelAssembler assembler = new ModelAssembler();

StringShape shape = StringShape.builder().id("ns.foo#Bar").build();
assembler.addShape(shape);
ValidatedResult<Model> result = assembler.assemble();
assertThat(result.unwrap().getShape(ShapeId.from("ns.foo#Bar")), is(Optional.of(shape)));

assembler.reset();
result = assembler.assemble();
assertThat(result.unwrap().getShape(ShapeId.from("ns.foo#Bar")), is(Optional.empty()));
}
}

0 comments on commit 954697b

Please sign in to comment.