### Question:
FlowPartAnalyzer { private void error(Element element, String pattern, Object... arguments) { message(Diagnostic.Kind.ERROR, element, pattern, arguments); } FlowPartAnalyzer(CompileEnvironment environment); void register(TypeElement typeDecl); Collection<OperatorClass> resolve();  }### Answer:
@Test public void violate_top_level() { error("com.example.ViolateTopLevel$Nested"); }
@Test public void violate_public() { error("com.example.ViolatePublic"); }
@Test public void violate_not_abstract() { error("com.example.ViolateNotAbstract"); }
@Test public void violate_extends_FlowDescription() { error("com.example.ViolateExtendsFlowDescription"); }
@Test public void violate_with_annotation() { error("com.example.ViolateWithAnnotation"); }
@Test public void violate_at_least_one_constructor() { error("com.example.ViolateAtLeastOneConstructor"); }
@Test public void violate_up_to_one_constructor() { error("com.example.ViolateUpToOneConstructor"); }
@Test public void violate_ctor_public() { error("com.example.ctor.ViolatePublic"); }
@Test public void violate_ctor_no_type_parameters() { error("com.example.ctor.ViolateNoTypeParameters"); }
@Test public void violate_ctor_no_exceptions() { error("com.example.ctor.ViolateNoExceptions"); }
@Test public void violate_ctor_at_least_one_input() { error("com.example.ctor.ViolateAtLeastOneInput"); }
@Test public void violate_ctor_at_least_one_output() { error("com.example.ctor.ViolateAtLeastOneOutput"); }
@Test public void violate_ctor_input_argument() { error("com.example.ctor.ViolateInputArgument"); }
@Test public void violate_ctor_output_argument() { error("com.example.ctor.ViolateOutputArgument"); }
@Test public void violate_ctor_input_type() { error("com.example.ctor.ViolateInputType"); }
@Test public void violate_ctor_output_type() { error("com.example.ctor.ViolateOutputType"); }
@Test public void violate_ctor_extern_input_not_projective() { add("com/example/external/StringImporter"); error("com.example.ctor.ViolateExternInputNotProjective"); }
@Test public void violate_ctor_extern_output_not_projective() { add("com/example/external/StringExporter"); error("com.example.ctor.ViolateExternOutputNotProjective"); }
@Test public void violate_ctor_no_import_argument() { add("com/example/external/StringImporter"); add("com/example/external/StringExporter"); error("com.example.ctor.ViolateNoImportArgument"); }
@Test public void violate_ctor_no_export_argument() { add("com/example/external/StringImporter"); add("com/example/external/StringExporter"); error("com.example.ctor.ViolateNoExportArgument"); }
@Test public void violate_ctor_with_not_only_extern() { add("com/example/external/StringImporter"); add("com/example/external/StringExporter"); error("com.example.ctor.WithExternIn", env -> env.withFlowpartExternalIo(false)); }
@Test public void violate_ctor_import_strict() { add("com/example/external/StringImporter"); add("com/example/external/StringExporter"); error("com.example.ctor.WithExternOut", env -> env.withFlowpartExternalIo(false)); }
@Test public void violate_ctor_export_strict() { add("com/example/external/StringImporter"); add("com/example/external/StringExporter"); error("com.example.ctor.ViolateWithNotOnlyExtern"); }
@Test public void violate_ctor_output_inferable() { error("com.example.ctor.ViolateOutputInferable"); }