@Test void testUpdateValid() { Tag tag = mock(Tag.class); doNothing().when(tagValidator).validate(tag); tagRepositoryValidationDecorator.update(tag); verify(tagValidator).validate(tag); verify(delegateRepository).update(tag); }
@Override public void update(Tag tag) { tagValidator.validate(tag); super.update(tag); }
TagRepositoryValidationDecorator extends AbstractRepositoryDecorator<Tag> { @Override public void update(Tag tag) { tagValidator.validate(tag); super.update(tag); } }
TagRepositoryValidationDecorator extends AbstractRepositoryDecorator<Tag> { @Override public void update(Tag tag) { tagValidator.validate(tag); super.update(tag); } TagRepositoryValidationDecorator(
      Repository<Tag> delegateRepository, TagValidator tagValidator); }
TagRepositoryValidationDecorator extends AbstractRepositoryDecorator<Tag> { @Override public void update(Tag tag) { tagValidator.validate(tag); super.update(tag); } TagRepositoryValidationDecorator(
      Repository<Tag> delegateRepository, TagValidator tagValidator); @Override void update(Tag tag); @Override void add(Tag tag); @Override Integer add(Stream<Tag> tagStream); @Override void update(Stream<Tag> tagStream); }
TagRepositoryValidationDecorator extends AbstractRepositoryDecorator<Tag> { @Override public void update(Tag tag) { tagValidator.validate(tag); super.update(tag); } TagRepositoryValidationDecorator(
      Repository<Tag> delegateRepository, TagValidator tagValidator); @Override void update(Tag tag); @Override void add(Tag tag); @Override Integer add(Stream<Tag> tagStream); @Override void update(Stream<Tag> tagStream);  }