test_class.declarator: a = SimpleEntity.create("A").build()
test_class.modifier: private static
test_class.original_string: private static ChemicalEntity a = SimpleEntity.create("A").build();
test_class.type: ChemicalEntity
test_class.var_name: a
test_class.declarator: b = SimpleEntity.create("B").build()
test_class.modifier: private static
test_class.original_string: private static ChemicalEntity b = SimpleEntity.create("B").build();
test_class.type: ChemicalEntity
test_class.var_name: b
test_class.file: singa-simulation/src/test/java/bio/singa/simulation/reactions/modifications/RemoveModificationTest.java
test_class.identifier: RemoveModificationTest
test_case.body: @Test
      void apply() {
          BindingSite bindingSite = BindingSite.forPair(a, b);
          ComplexEntity first = ComplexEntity.from(a, bindingSite);
          ComplexEntity second = ComplexEntity.from(b, bindingSite);
          ComplexEntity complex = first.bind(second, bindingSite).get();
  
          ComplexEntityModification modification = new RemoveModification(bindingSite, b);
          modification.addCandidate(complex);
          modification.apply();
          List<ComplexEntity> results = modification.getResults();
  
          assertEquals(2, complex.getNodes().size());
          assertEquals(1, results.size());
          ComplexEntity graphComplex = results.get(0);
          assertEquals(1, graphComplex.getNodes().size());
          assertTrue(graphComplex.containsEntity(a));
          assertFalse(graphComplex.containsEntity(b));
  
      }
test_case.class_method_signature: RemoveModificationTest.apply()
test_case.full_signature: @Test void apply()
test_case.identifier: apply
test_case.invocations: forPair from from get bind addCandidate apply getResults assertEquals size getNodes assertEquals size get assertEquals size getNodes assertTrue containsEntity assertFalse containsEntity
test_case.modifiers: @Test
test_case.parameters: ()
test_case.return: void
test_case.signature: void apply()
focal_class.file: singa-simulation/src/main/java/bio/singa/simulation/reactions/modifications/RemoveModification.java
focal_class.identifier: RemoveModification
focal_class.class_method_signature: RemoveModification.RemoveModification(BindingSite bindingSite, ChemicalEntity entityToRemove)
focal_class.full_signature: public  RemoveModification(BindingSite bindingSite, ChemicalEntity entityToRemove)
focal_class.identifier: RemoveModification
focal_class.modifiers: public
focal_class.parameters: (BindingSite bindingSite, ChemicalEntity entityToRemove)
focal_class.signature:  RemoveModification(BindingSite bindingSite, ChemicalEntity entityToRemove)
focal_class.class_method_signature: RemoveModification.apply()
focal_class.full_signature: @Override public void apply()
focal_class.identifier: apply
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void apply()
focal_class.class_method_signature: RemoveModification.apply(ComplexEntity complex)
focal_class.full_signature: public void apply(ComplexEntity complex)
focal_class.identifier: apply
focal_class.modifiers: public
focal_class.parameters: (ComplexEntity complex)
focal_class.return: void
focal_class.signature: void apply(ComplexEntity complex)
focal_class.class_method_signature: RemoveModification.toString()
focal_class.full_signature: @Override public String toString()
focal_class.identifier: toString
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String toString()
focal_class.class_method_signature: RemoveModification.invert()
focal_class.full_signature: @Override public ComplexEntityModification invert()
focal_class.identifier: invert
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: ComplexEntityModification
focal_class.signature: ComplexEntityModification invert()
focal_class.superclass: extends AbstractComplexEntityModification
focal_method.body: @Override
      public void apply() {
          if (getCandidates().size() != 1) {
              logger.warn("Remove modifications only accept one candidate and return one result.");
          }
          ComplexEntity candidate = getCandidates().get(0);
          apply(candidate);
      }
focal_method.class_method_signature: RemoveModification.apply()
focal_method.full_signature: @Override public void apply()
focal_method.identifier: apply
focal_method.invocations: size getCandidates warn get getCandidates apply
focal_method.modifiers: @Override public
focal_method.parameters: ()
focal_method.return: void
focal_method.signature: void apply()