Example #1
0
        public void TestRoundtrip()
        {
            Molecule molecule = new Molecule();

            molecule.AddAtom("C");
            molecule.AddAtom("C");
            molecule.AddAtom("C");
            molecule.AddAtom("C");
            molecule.AddSingleBond(0, 1);
            molecule.AddSingleBond(0, 3);
            molecule.AddSingleBond(1, 2);
            molecule.AddSingleBond(2, 3);

            AtomSignature atomSignature   = new AtomSignature(molecule, 0);
            string        signatureString = atomSignature.ToCanonicalString();

            ColoredTree     tree          = AtomSignature.Parse(signatureString);
            MoleculeBuilder builder       = new MoleculeBuilder();
            Molecule        builtMolecule = builder.FromTree(tree);

            Assert.AreEqual(molecule.ToString(), builtMolecule.ToString());

            // test that this can be done more than once
            builtMolecule = builder.FromTree(tree);
            Assert.AreEqual(molecule.ToString(), builtMolecule.ToString());
        }
Example #2
0
        public override string SignatureStringForVertex(int vertexIndex, int height)
        {
            AtomSignature atomSignature =
                new AtomSignature(molecule, vertexIndex, height, invariantType);

            return(atomSignature.ToCanonicalString());
        }
Example #3
0
        public void TestFiveCycle()
        {
            Molecule      molecule      = MoleculeFactory.FiveCycle();
            AtomSignature atomSignature = new AtomSignature(molecule, 0);

            Console.Out.WriteLine(atomSignature.ToCanonicalString());
            //        Console.Out.WriteLine(atomSignature);
        }