public void TestCompare_RingSize() { // Create some IAtomContainers IChemObjectBuilder builder = ChemObjectBuilder.Instance; IRing cycloPentane = builder.NewRing(5, "C"); IRing cycloHexane = builder.NewRing(6, "C"); // Instantiate the comparator IComparer <IAtomContainer> comparator = new AtomContainerComparator <IAtomContainer>(); Assert.AreEqual(-1, comparator.Compare(cycloPentane, cycloHexane), "cycloPentane <-> cycloHexane"); Assert.AreEqual(0, comparator.Compare(cycloPentane, cycloPentane), "cycloPentane <-> cycloPentane"); Assert.AreEqual(1, comparator.Compare(cycloHexane, cycloPentane), "cycloHexane <-> cycloPentane"); }
public void TestCompare_Ring_NonRing2() { // Create some IAtomContainers IChemObjectBuilder builder = ChemObjectBuilder.Instance; IAtomContainer hexaneNitrogen = builder.NewRing(6, "N"); hexaneNitrogen.Bonds.RemoveAt(0); IRing cycloHexaneNitrogen = builder.NewRing(6, "N"); // Instantiate the comparator IComparer <IAtomContainer> comparator = new AtomContainerComparator <IAtomContainer>(); Assert.AreEqual(-1, comparator.Compare(hexaneNitrogen, cycloHexaneNitrogen), "hexaneNitrogen <-> cycloHexaneNitrogen"); Assert.AreEqual(0, comparator.Compare(hexaneNitrogen, hexaneNitrogen), "hexaneNitrogen <-> hexaneNitrogen"); Assert.AreEqual(1, comparator.Compare(cycloHexaneNitrogen, hexaneNitrogen), "cycloHexaneNitrogen <-> hexaneNitrogen"); }
public void TestCompare_Null_Null() { // Instantiate the comparator IComparer <IAtomContainer> comparator = new AtomContainerComparator <IAtomContainer>(); // Assert.assert correct comparison Assert.AreEqual(0, comparator.Compare(null, null), "null <-> null"); }
public void TestCompare_IAtomContainer_Null() { IChemObjectBuilder builder = ChemObjectBuilder.Instance; IRing cycloPentane = builder.NewRing(5, "C"); // Instantiate the comparator IComparer <IAtomContainer> comparator = new AtomContainerComparator <IAtomContainer>(); // Assert.assert correct comparison Assert.AreEqual(-1, comparator.Compare(cycloPentane, null), "cycloPentane <-> null"); }
public void TestCompare_BondOrder() { // Create some IAtomContainers IChemObjectBuilder builder = ChemObjectBuilder.Instance; IRing cycloHexaneNitrogen = builder.NewRing(6, "N"); IRing cycloHexeneNitrogen = builder.NewRing(6, "N"); cycloHexeneNitrogen.Bonds[0].Order = BondOrder.Double; // Instantiate the comparator IComparer <IAtomContainer> comparator = new AtomContainerComparator <IAtomContainer>(); Assert.AreEqual(-1, comparator.Compare(cycloHexaneNitrogen, cycloHexeneNitrogen), "cycloHexaneNitrogen <-> cycloHexeneNitrogen"); Assert.AreEqual(0, comparator.Compare(cycloHexaneNitrogen, cycloHexaneNitrogen), "cycloHexaneNitrogen <-> cycloHexaneNitrogen"); Assert.AreEqual(0, comparator.Compare(cycloHexeneNitrogen, cycloHexeneNitrogen), "cycloHexeneNitrogen <-> cycloHexeneNitrogen"); Assert.AreEqual(1, comparator.Compare(cycloHexeneNitrogen, cycloHexaneNitrogen), "cycloHexeneNitrogen <-> cycloHexaneNitrogen"); }
public void TestCompare_Atom_PseudoAtom() { // Instantiate the comparator IComparer <IAtomContainer> comparator = new AtomContainerComparator <IAtomContainer>(); IAtomContainer atomContainer1 = new AtomContainer(); atomContainer1.Atoms.Add(new Atom("C")); IAtomContainer atomContainer2 = new AtomContainer(); atomContainer2.Atoms.Add(new PseudoAtom("*")); Assert.AreEqual(1, comparator.Compare(atomContainer1, atomContainer2), atomContainer1 + " <-> " + atomContainer2); }