test_class.declarator: project = null
test_class.modifier: private
test_class.original_string: private Project project = null;
test_class.type: Project
test_class.var_name: project
test_class.file: model/model-verifier/src/test/java/io/spine/model/verify/ModelVerifierTest.java
test_class.identifier: ModelVerifierTest
test_case.body: @Test
      @DisplayName("fail on duplicate command handlers")
      void failOnDuplicateHandlers() {
          ModelVerifier verifier = new ModelVerifier(project);
          String firstType = UploadCommandHandler.class.getName();
          String secondType = DuplicateCommandHandler.class.getName();
  
          CommandHandlers spineModel = CommandHandlers
                  .newBuilder()
                  .addCommandHandlingType(firstType)
                  .addCommandHandlingType(secondType)
                  .build();
          assertThrows(DuplicateCommandHandlerError.class, () -> verifier.verify(spineModel));
      }
test_case.class_method_signature: ModelVerifierTest.failOnDuplicateHandlers()
test_case.full_signature: @Test @DisplayName("fail on duplicate command handlers") void failOnDuplicateHandlers()
test_case.identifier: failOnDuplicateHandlers
test_case.invocations: getName getName build addCommandHandlingType addCommandHandlingType newBuilder assertThrows verify
test_case.modifiers: @Test @DisplayName("fail on duplicate command handlers")
test_case.parameters: ()
test_case.return: void
test_case.signature: void failOnDuplicateHandlers()
focal_class.declarator: EMPTY_URL_ARRAY = new URL[0]
focal_class.modifier: private static final
focal_class.original_string: private static final URL[] EMPTY_URL_ARRAY = new URL[0];
focal_class.type: URL[]
focal_class.var_name: EMPTY_URL_ARRAY
focal_class.declarator: projectClassLoader
focal_class.modifier: private final
focal_class.original_string: private final URLClassLoader projectClassLoader;
focal_class.type: URLClassLoader
focal_class.var_name: projectClassLoader
focal_class.file: model/model-verifier/src/main/java/io/spine/model/verify/ModelVerifier.java
focal_class.identifier: ModelVerifier
focal_class.interfaces: implements Logging
focal_class.class_method_signature: ModelVerifier.ModelVerifier(Project project)
focal_class.full_signature:   ModelVerifier(Project project)
focal_class.identifier: ModelVerifier
focal_class.parameters: (Project project)
focal_class.signature:  ModelVerifier(Project project)
focal_class.class_method_signature: ModelVerifier.verify(CommandHandlers handlers)
focal_class.full_signature:  void verify(CommandHandlers handlers)
focal_class.identifier: verify
focal_class.parameters: (CommandHandlers handlers)
focal_class.return: void
focal_class.signature: void verify(CommandHandlers handlers)
focal_class.class_method_signature: ModelVerifier.reportNotFoundIfAny(ClassSet classSet)
focal_class.full_signature: private void reportNotFoundIfAny(ClassSet classSet)
focal_class.identifier: reportNotFoundIfAny
focal_class.modifiers: private
focal_class.parameters: (ClassSet classSet)
focal_class.return: void
focal_class.signature: void reportNotFoundIfAny(ClassSet classSet)
focal_class.class_method_signature: ModelVerifier.createClassLoader(Project project)
focal_class.full_signature: private URLClassLoader createClassLoader(Project project)
focal_class.identifier: createClassLoader
focal_class.modifiers: private
focal_class.parameters: (Project project)
focal_class.return: URLClassLoader
focal_class.signature: URLClassLoader createClassLoader(Project project)
focal_class.class_method_signature: ModelVerifier.allJavaCompile(Project project)
focal_class.full_signature: private static Collection<JavaCompile> allJavaCompile(Project project)
focal_class.identifier: allJavaCompile
focal_class.modifiers: private static
focal_class.parameters: (Project project)
focal_class.return: Collection<JavaCompile>
focal_class.signature: Collection<JavaCompile> allJavaCompile(Project project)
focal_class.class_method_signature: ModelVerifier.javaCompile(Project project)
focal_class.full_signature: private static Collection<JavaCompile> javaCompile(Project project)
focal_class.identifier: javaCompile
focal_class.modifiers: private static
focal_class.parameters: (Project project)
focal_class.return: Collection<JavaCompile>
focal_class.signature: Collection<JavaCompile> javaCompile(Project project)
focal_class.class_method_signature: ModelVerifier.extractDestinationDirs(Collection<JavaCompile> tasks)
focal_class.full_signature: private static URL[] extractDestinationDirs(Collection<JavaCompile> tasks)
focal_class.identifier: extractDestinationDirs
focal_class.modifiers: private static
focal_class.parameters: (Collection<JavaCompile> tasks)
focal_class.return: URL[]
focal_class.signature: URL[] extractDestinationDirs(Collection<JavaCompile> tasks)
focal_method.body: void verify(CommandHandlers handlers) {
          ClassSet classSet = new ClassSet(projectClassLoader,
                                           handlers.getCommandHandlingTypeList());
          reportNotFoundIfAny(classSet);
          DuplicateHandlerCheck.newInstance()
                               .check(classSet.elements());
      }
focal_method.class_method_signature: ModelVerifier.verify(CommandHandlers handlers)
focal_method.full_signature:  void verify(CommandHandlers handlers)
focal_method.identifier: verify
focal_method.invocations: getCommandHandlingTypeList reportNotFoundIfAny check newInstance elements
focal_method.parameters: (CommandHandlers handlers)
focal_method.return: void
focal_method.signature: void verify(CommandHandlers handlers)