test_class.file: mubench/src/test/java/de/tu_darmstadt/stg/mudetect/MissingCatchNoViolationPredicateTest.java
test_class.identifier: MissingCatchNoViolationPredicateTest
test_case.body: @Test
      public void missingThrowNoViolation() {
          TestAUGBuilder pattern = buildAUG().withActionNodes("mayFail()").withDataNode("SomeException")
                  .withEdge("mayFail()", THROW, "SomeException");
          TestAUGBuilder target = buildAUG().withActionNodes("mayFail()");
          TestOverlapBuilder overlap = buildOverlap(pattern, target).withNodes("mayFail()");
  
          Optional<Boolean> decision = new MissingCatchNoViolationPredicate().apply(overlap.build());
  
          assertThat(decision, is(Optional.of(false)));
      }
test_case.class_method_signature: MissingCatchNoViolationPredicateTest.missingThrowNoViolation()
test_case.full_signature: @Test public void missingThrowNoViolation()
test_case.identifier: missingThrowNoViolation
test_case.invocations: withEdge withDataNode withActionNodes buildAUG withActionNodes buildAUG withNodes buildOverlap apply build assertThat is of
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void missingThrowNoViolation()
focal_class.file: mubench/src/main/java/de/tu_darmstadt/stg/mudetect/MissingCatchNoViolationPredicate.java
focal_class.identifier: MissingCatchNoViolationPredicate
focal_class.interfaces: implements ViolationPredicate
focal_class.class_method_signature: MissingCatchNoViolationPredicate.apply(Overlap overlap)
focal_class.full_signature: @Override public Optional<Boolean> apply(Overlap overlap)
focal_class.identifier: apply
focal_class.modifiers: @Override public
focal_class.parameters: (Overlap overlap)
focal_class.return: Optional<Boolean>
focal_class.signature: Optional<Boolean> apply(Overlap overlap)
focal_class.class_method_signature: MissingCatchNoViolationPredicate.isMissingCatchOnly(Overlap overlap)
focal_class.full_signature: private boolean isMissingCatchOnly(Overlap overlap)
focal_class.identifier: isMissingCatchOnly
focal_class.modifiers: private
focal_class.parameters: (Overlap overlap)
focal_class.return: boolean
focal_class.signature: boolean isMissingCatchOnly(Overlap overlap)
focal_class.class_method_signature: MissingCatchNoViolationPredicate.isMissingThrowOnly(Overlap overlap)
focal_class.full_signature: private boolean isMissingThrowOnly(Overlap overlap)
focal_class.identifier: isMissingThrowOnly
focal_class.modifiers: private
focal_class.parameters: (Overlap overlap)
focal_class.return: boolean
focal_class.signature: boolean isMissingThrowOnly(Overlap overlap)
focal_method.body: @Override
      public Optional<Boolean> apply(Overlap overlap) {
          return isMissingCatchOnly(overlap) || isMissingThrowOnly(overlap) ? Optional.of(false) : Optional.empty();
      }
focal_method.class_method_signature: MissingCatchNoViolationPredicate.apply(Overlap overlap)
focal_method.full_signature: @Override public Optional<Boolean> apply(Overlap overlap)
focal_method.identifier: apply
focal_method.invocations: isMissingCatchOnly isMissingThrowOnly of empty
focal_method.modifiers: @Override public
focal_method.parameters: (Overlap overlap)
focal_method.return: Optional<Boolean>
focal_method.signature: Optional<Boolean> apply(Overlap overlap)