test_class.file: storage/ctab/src/test/java/org/openscience/cdk/io/MDLValenceTest.java
test_class.identifier: MDLValenceTest
test_case.body: @Test
      public void nitrogen_neutral() {
          assertThat(MDLValence.implicitValence(7, 0, 0), is(3));
          assertThat(MDLValence.implicitValence(7, 0, 1), is(3));
          assertThat(MDLValence.implicitValence(7, 0, 2), is(3));
          assertThat(MDLValence.implicitValence(7, 0, 3), is(3));
          assertThat(MDLValence.implicitValence(7, 0, 4), is(5));
          assertThat(MDLValence.implicitValence(7, 0, 5), is(5));
          assertThat(MDLValence.implicitValence(7, 0, 6), is(6));
      }
test_case.class_method_signature: MDLValenceTest.nitrogen_neutral()
test_case.full_signature: @Test public void nitrogen_neutral()
test_case.identifier: nitrogen_neutral
test_case.invocations: assertThat implicitValence is assertThat implicitValence is assertThat implicitValence is assertThat implicitValence is assertThat implicitValence is assertThat implicitValence is assertThat implicitValence is
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void nitrogen_neutral()
focal_class.file: storage/ctab/src/main/java/org/openscience/cdk/io/MDLValence.java
focal_class.identifier: MDLValence
focal_class.class_method_signature: MDLValence.MDLValence()
focal_class.full_signature: private  MDLValence()
focal_class.identifier: MDLValence
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.signature:  MDLValence()
focal_class.class_method_signature: MDLValence.apply(IAtomContainer container)
focal_class.full_signature: static IAtomContainer apply(IAtomContainer container)
focal_class.identifier: apply
focal_class.modifiers: static
focal_class.parameters: (IAtomContainer container)
focal_class.return: IAtomContainer
focal_class.signature: IAtomContainer apply(IAtomContainer container)
focal_class.class_method_signature: MDLValence.implicitValence(int elem, int q, int val)
focal_class.full_signature: static int implicitValence(int elem, int q, int val)
focal_class.identifier: implicitValence
focal_class.modifiers: static
focal_class.parameters: (int elem, int q, int val)
focal_class.return: int
focal_class.signature: int implicitValence(int elem, int q, int val)
focal_method.body: static int implicitValence(int elem, int q, int val) {
          switch (elem) {
              case 1: // H
              case 3: // Li
              case 11: // Na
              case 19: // K
              case 37: // Rb
              case 55: // Cs
              case 87: // Fr
                  if (q == 0 && val <= 1) return 1;
                  break;
  
              case 4: // Be
              case 12: // Mg
              case 20: // Ca
              case 38: // Sr
              case 56: // Ba
              case 88: // Ra
                  switch (q) {
                      case 0:
                          if (val <= 2) return 2;
                          break;
                      case 1:
                          if (val <= 1) return 1;
                          break;
                  }
                  break;
  
              case 5: // B
                  switch (q) {
                      case -4:
                          if (val <= 1) return 1;
                          break;
                      case -3:
                          if (val <= 2) return 2;
                          break;
                      case -2:
                          if (val <= 3) return 3;
                          if (val <= 5) return 5;
                          break;
                      case -1:
                          if (val <= 4) return 4;
                          break;
                      case 0:
                          if (val <= 3) return 3;
                          break;
                      case 1:
                          if (val <= 2) return 2;
                          break;
                      case 2:
                          if (val <= 1) return 1;
                          break;
                  }
                  break;
  
              case 6: // C
                  switch (q) {
                      case -3:
                          if (val <= 1) return 1;
                          break;
                      case -2:
                          if (val <= 2) return 2;
                          break;
                      case -1:
                          if (val <= 3) return 3;
                          if (val <= 5) return 5;
                          break;
                      case 0:
                          if (val <= 4) return 4;
                          break;
                      case 1:
                          if (val <= 3) return 3;
                          break;
                      case 2:
                          if (val <= 2) return 2;
                          break;
                      case 3:
                          if (val <= 1) return 1;
                          break;
                  }
                  break;
  
              case 7: // N
                  switch (q) {
                      case -2:
                          if (val <= 1) return 1;
                          break;
                      case -1:
                          if (val <= 2) return 2;
                          break;
                      case 0:
                          if (val <= 3) return 3;
                          if (val <= 5) return 5;
                          break;
                      case 1:
                          if (val <= 4) return 4;
                          break;
                      case 2:
                          if (val <= 3) return 3;
                          break;
                      case 3:
                          if (val <= 2) return 2;
                          break;
                      case 4:
                          if (val <= 1) return 1;
                          break;
                  }
                  break;
  
              case 8: // O
                  switch (q) {
                      case -1:
                          if (val <= 1) return 1;
                          break;
                      case 0:
                          if (val <= 2) return 2;
                          break;
                      case 1:
                          if (val <= 3) return 3;
                          if (val <= 5) return 5;
                          break;
                      case 2:
                          if (val <= 4) return 4;
                          break;
                      case 3:
                          if (val <= 3) return 3;
                          break;
                      case 4:
                          if (val <= 2) return 2;
                          break;
                      case 5:
                          if (val <= 1) return 1;
                          break;
                  }
                  break;
  
              case 9: // F
                  switch (q) {
                      case 0:
                          if (val <= 1) return 1;
                          break;
                      case 1:
                          if (val <= 2) return 2;
                          break;
                      case 2:
                          if (val <= 3) return 3;
                          if (val <= 5) return 5;
                          break;
                      case 3:
                          if (val <= 4) return 4;
                          break;
                      case 4:
                          if (val <= 3) return 3;
                          break;
                      case 5:
                          if (val <= 2) return 2;
                          break;
                      case 6:
                          if (val <= 1) return 1;
                          break;
                  }
                  break;
  
              case 13: // Al
                  switch (q) {
                      case -4:
                          if (val <= 1) return 1;
                          if (val <= 3) return 3;
                          if (val <= 5) return 5;
                          if (val <= 7) return 7;
                          break;
                      case -3:
                          if (val <= 2) return 2;
                          if (val <= 4) return 4;
                          if (val <= 6) return 6;
                          break;
                      case -2:
                          if (val <= 3) return 3;
                          if (val <= 5) return 5;
                          break;
                      case -1:
                          if (val <= 4) return 4;
                          break;
                      case 0:
                          if (val <= 3) return 3;
                          break;
                      case 1:
                          if (val <= 2) return 2;
                          break;
                      case 2:
                          if (val <= 1) return 1;
                          break;
                  }
                  break;
  
              case 14: // Si
                  switch (q) {
                      case -3:
                          if (val <= 1) return 1;
                          if (val <= 3) return 3;
                          if (val <= 5) return 5;
                          if (val <= 7) return 7;
                          break;
                      case -2:
                          if (val <= 2) return 2;
                          if (val <= 4) return 4;
                          if (val <= 6) return 6;
                          break;
                      case -1:
                          if (val <= 3) return 3;
                          if (val <= 5) return 5;
                          break;
                      case 0:
                          if (val <= 4) return 4;
                          break;
                      case 1:
                          if (val <= 3) return 3;
                          break;
                      case 2:
                          if (val <= 2) return 2;
                          break;
                      case 3:
                          if (val <= 1) return 1;
                          break;
                  }
                  break;
  
              case 15: // P
                  switch (q) {
                      case -2:
                          if (val <= 1) return 1;
                          if (val <= 3) return 3;
                          if (val <= 5) return 5;
                          if (val <= 7) return 7;
                          break;
                      case -1:
                          if (val <= 2) return 2;
                          if (val <= 4) return 4;
                          if (val <= 6) return 6;
                          break;
                      case 0:
                          if (val <= 3) return 3;
                          if (val <= 5) return 5;
                          break;
                      case 1:
                          if (val <= 4) return 4;
                          break;
                      case 2:
                          if (val <= 3) return 3;
                          break;
                      case 3:
                          if (val <= 2) return 2;
                          break;
                      case 4:
                          if (val <= 1) return 1;
                          break;
                  }
                  break;
  
              case 16: // S
                  switch (q) {
                      case -1:
                          if (val <= 1) return 1;
                          if (val <= 3) return 3;
                          if (val <= 5) return 5;
                          if (val <= 7) return 7;
                          break;
                      case 0:
                          if (val <= 2) return 2;
                          if (val <= 4) return 4;
                          if (val <= 6) return 6;
                          break;
                      case 1:
                          if (val <= 3) return 3;
                          if (val <= 5) return 5;
                          break;
                      case 2:
                          if (val <= 4) return 4;
                          break;
                      case 3:
                          if (val <= 3) return 3;
                          break;
                      case 4:
                          if (val <= 2) return 2;
                          break;
                      case 5:
                          if (val <= 1) return 1;
                          break;
                  }
                  break;
  
              case 17: // Cl
                  switch (q) {
                      case 0:
                          if (val <= 1) return 1;
                          if (val <= 3) return 3;
                          if (val <= 5) return 5;
                          if (val <= 7) return 7;
                          break;
                      case 1:
                          if (val <= 2) return 2;
                          if (val <= 4) return 4;
                          if (val <= 6) return 6;
                          break;
                      case 2:
                          if (val <= 3) return 3;
                          if (val <= 5) return 5;
                          break;
                      case 3:
                          if (val <= 4) return 4;
                          break;
                      case 4:
                          if (val <= 3) return 3;
                          break;
                      case 5:
                          if (val <= 2) return 2;
                          break;
                      case 6:
                          if (val <= 1) return 1;
                          break;
                  }
                  break;
  
              case 31: // Ga
                  switch (q) {
                      case -4:
                          if (val <= 1) return 1;
                          if (val <= 3) return 3;
                          if (val <= 5) return 5;
                          if (val <= 7) return 7;
                          break;
                      case -3:
                          if (val <= 2) return 2;
                          if (val <= 4) return 4;
                          if (val <= 6) return 6;
                          break;
                      case -2:
                          if (val <= 3) return 3;
                          if (val <= 5) return 5;
                          break;
                      case -1:
                          if (val <= 4) return 4;
                          break;
                      case 0:
                          if (val <= 3) return 3;
                          break;
                      case 2:
                          if (val <= 1) return 1;
                          break;
                  }
                  break;
  
              case 32: // Ge
                  switch (q) {
                      case -3:
                          if (val <= 1) return 1;
                          if (val <= 3) return 3;
                          if (val <= 5) return 5;
                          if (val <= 7) return 7;
                          break;
                      case -2:
                          if (val <= 2) return 2;
                          if (val <= 4) return 4;
                          if (val <= 6) return 6;
                          break;
                      case -1:
                          if (val <= 3) return 3;
                          if (val <= 5) return 5;
                          break;
                      case 0:
                          if (val <= 4) return 4;
                          break;
                      case 1:
                          if (val <= 3) return 3;
                          break;
                      case 3:
                          if (val <= 1) return 1;
                          break;
                  }
                  break;
  
              case 33: // As
                  switch (q) {
                      case -2:
                          if (val <= 1) return 1;
                          if (val <= 3) return 3;
                          if (val <= 5) return 5;
                          if (val <= 7) return 7;
                          break;
                      case -1:
                          if (val <= 2) return 2;
                          if (val <= 4) return 4;
                          if (val <= 6) return 6;
                          break;
                      case 0:
                          if (val <= 3) return 3;
                          if (val <= 5) return 5;
                          break;
                      case 1:
                          if (val <= 4) return 4;
                          break;
                      case 2:
                          if (val <= 3) return 3;
                          break;
                      case 4:
                          if (val <= 1) return 1;
                          break;
                  }
                  break;
  
              case 34: // Se
                  switch (q) {
                      case -1:
                          if (val <= 1) return 1;
                          if (val <= 3) return 3;
                          if (val <= 5) return 5;
                          if (val <= 7) return 7;
                          break;
                      case 0:
                          if (val <= 2) return 2;
                          if (val <= 4) return 4;
                          if (val <= 6) return 6;
                          break;
                      case 1:
                          if (val <= 3) return 3;
                          if (val <= 5) return 5;
                          break;
                      case 2:
                          if (val <= 4) return 4;
                          break;
                      case 3:
                          if (val <= 3) return 3;
                          break;
                      case 5:
                          if (val <= 1) return 1;
                          break;
                  }
                  break;
  
              case 35: // Br
                  switch (q) {
                      case 0:
                          if (val <= 1) return 1;
                          if (val <= 3) return 3;
                          if (val <= 5) return 5;
                          if (val <= 7) return 7;
                          break;
                      case 1:
                          if (val <= 2) return 2;
                          if (val <= 4) return 4;
                          if (val <= 6) return 6;
                          break;
                      case 2:
                          if (val <= 3) return 3;
                          if (val <= 5) return 5;
                          break;
                      case 3:
                          if (val <= 4) return 4;
                          break;
                      case 4:
                          if (val <= 3) return 3;
                          break;
                      case 6:
                          if (val <= 1) return 1;
                          break;
                  }
                  break;
  
              case 49: // In
                  switch (q) {
                      case -4:
                          if (val <= 1) return 1;
                          if (val <= 3) return 3;
                          if (val <= 5) return 5;
                          if (val <= 7) return 7;
                          break;
                      case -3:
                          if (val <= 2) return 2;
                          if (val <= 4) return 4;
                          if (val <= 6) return 6;
                          break;
                      case -2:
                          if (val <= 3) return 3;
                          if (val <= 5) return 5;
                          break;
                      case -1:
                          if (val <= 2) return 2;
                          if (val <= 4) return 4;
                          break;
                      case 0:
                          if (val <= 3) return 3;
                          break;
                      case 2:
                          if (val <= 1) return 1;
                          break;
                  }
                  break;
  
              case 50: // Sn
              case 82: // Pb
                  switch (q) {
                      case -3:
                          if (val <= 1) return 1;
                          if (val <= 3) return 3;
                          if (val <= 5) return 5;
                          if (val <= 7) return 7;
                          break;
                      case -2:
                          if (val <= 2) return 2;
                          if (val <= 4) return 4;
                          if (val <= 6) return 6;
                          break;
                      case -1:
                          if (val <= 3) return 3;
                          if (val <= 5) return 5;
                          break;
                      case 0:
                          if (val <= 2) return 2;
                          if (val <= 4) return 4;
                          break;
                      case 1:
                          if (val <= 3) return 3;
                          break;
                      case 3:
                          if (val <= 1) return 1;
                          break;
                  }
                  break;
  
              case 51: // Sb
              case 83: // Bi
                  switch (q) {
                      case -2:
                          if (val <= 1) return 1;
                          if (val <= 3) return 3;
                          if (val <= 5) return 5;
                          if (val <= 7) return 7;
                          break;
                      case -1:
                          if (val <= 2) return 2;
                          if (val <= 4) return 4;
                          if (val <= 6) return 6;
                          break;
                      case 0:
                          if (val <= 3) return 3;
                          if (val <= 5) return 5;
                          break;
                      case 1:
                          if (val <= 2) return 2;
                          if (val <= 4) return 4;
                          break;
                      case 2:
                          if (val <= 3) return 3;
                          break;
                      case 4:
                          if (val <= 1) return 1;
                          break;
                  }
                  break;
  
              case 52: // Te
              case 84: // Po
                  switch (q) {
                      case -1:
                          if (val <= 1) return 1;
                          if (val <= 3) return 3;
                          if (val <= 5) return 5;
                          if (val <= 7) return 7;
                          break;
                      case 0:
                          if (val <= 2) return 2;
                          if (val <= 4) return 4;
                          if (val <= 6) return 6;
                          break;
                      case 1:
                          if (val <= 3) return 3;
                          if (val <= 5) return 5;
                          break;
                      case 2:
                          if (val <= 2) return 2;
                          if (val <= 4) return 4;
                          break;
                      case 3:
                          if (val <= 3) return 3;
                          break;
                      case 5:
                          if (val <= 1) return 1;
                          break;
                  }
                  break;
  
              case 53: // I
              case 85: // At
                  switch (q) {
                      case 0:
                          if (val <= 1) return 1;
                          if (val <= 3) return 3;
                          if (val <= 5) return 5;
                          if (val <= 7) return 7;
                          break;
                      case 1:
                          if (val <= 2) return 2;
                          if (val <= 4) return 4;
                          if (val <= 6) return 6;
                          break;
                      case 2:
                          if (val <= 3) return 3;
                          if (val <= 5) return 5;
                          break;
                      case 3:
                          if (val <= 2) return 2;
                          if (val <= 4) return 4;
                          break;
                      case 4:
                          if (val <= 3) return 3;
                          break;
                      case 6:
                          if (val <= 1) return 1;
                          break;
                  }
                  break;
  
              case 81: // Tl
                  switch (q) {
                      case -4:
                          if (val <= 1) return 1;
                          if (val <= 3) return 3;
                          if (val <= 5) return 5;
                          if (val <= 7) return 7;
                          break;
                      case -3:
                          if (val <= 2) return 2;
                          if (val <= 4) return 4;
                          if (val <= 6) return 6;
                          break;
                      case -2:
                          if (val <= 3) return 3;
                          if (val <= 5) return 5;
                          break;
                      case -1:
                          if (val <= 2) return 2;
                          if (val <= 4) return 4;
                          break;
                      case 0:
                          if (val <= 1) return 1;
                          if (val <= 3) return 3;
                          break;
                  }
                  break;
  
          }
          return val;
      }
focal_method.class_method_signature: MDLValence.implicitValence(int elem, int q, int val)
focal_method.full_signature: static int implicitValence(int elem, int q, int val)
focal_method.identifier: implicitValence
focal_method.modifiers: static
focal_method.parameters: (int elem, int q, int val)
focal_method.return: int
focal_method.signature: int implicitValence(int elem, int q, int val)