public void ElementContributingOneElectronRejectWhenNoDoubleBond()
 {
     int[] cycle = new int[] { 0, 1, 2, 3, 4, 5, 0 };
     int[] contr = new int[] { 1, 1, 1, 1, 1, 1 };
     int[] dbs   = new int[] { 1, 0, 3, -1, 5, 4 };
     Assert.IsFalse(MmffAromaticTypeMapping.IsAromaticRing(cycle, contr, dbs, new bool[contr.Length]));
 }
 public void PyrroleIsAromatic()
 {
     int[]  cycle = new int[] { 0, 1, 2, 3, 4, 0 };
     int[]  contr = new int[] { 2, 1, 1, 1, 1 };
     int[]  dbs   = new int[] { -1, 2, 1, 4, 3 };
     bool[] arom  = new bool[contr.Length];
     Assert.IsTrue(MmffAromaticTypeMapping.IsAromaticRing(cycle, contr, dbs, arom));
 }
 public void ExocyclicDoubleBondsBreakAromaticity()
 {
     int[]  cycle = new int[] { 0, 1, 2, 3, 4, 5, 0 };
     int[]  contr = new int[] { 1, 1, 1, 1, 1, 1, 1, 1 };
     int[]  dbs   = new int[] { 1, 0, 6, 7, 5, 4 };
     bool[] arom  = new bool[contr.Length];
     Assert.IsFalse(MmffAromaticTypeMapping.IsAromaticRing(cycle, contr, dbs, arom));
 }
 public void BenzeneIsAromatic()
 {
     int[]  cycle = new int[] { 0, 1, 2, 3, 4, 5, 0 };
     int[]  contr = new int[] { 1, 1, 1, 1, 1, 1 };
     int[]  dbs   = new int[] { 1, 0, 3, 2, 5, 4 };
     bool[] arom  = new bool[contr.Length];
     Assert.IsTrue(MmffAromaticTypeMapping.IsAromaticRing(cycle, contr, dbs, arom));
 }
 public void DelocaiIsedExocyclicDoubleBondsMaintainAromaticity()
 {
     int[]  cycle = new int[] { 0, 1, 2, 3, 4, 5, 0 };
     int[]  contr = new int[] { 1, 1, 1, 1, 1, 1, 1, 1 };
     int[]  dbs   = new int[] { 1, 0, 6, 7, 5, 4 };
     bool[] arom  = new bool[contr.Length];
     arom[2] = arom[3] = arom[6] = arom[7] = true; // adjacent ring is aromatic
     Assert.IsTrue(MmffAromaticTypeMapping.IsAromaticRing(cycle, contr, dbs, arom));
 }