public static List<String> getAllIDs(IAtomContainerSet set) { List<String> idList = new ArrayList<String>(); if (set != null) { if (set.getID() != null) idList.add(set.getID()); for (int i = 0; i < set.getAtomContainerCount(); i++) { idList.addAll(AtomContainerManipulator.getAllIDs(set.getAtomContainer(i))); } } return idList; }
public static List<String> getAllIDs(IReaction reaction) { List<String> idList = new ArrayList<String>(); if (reaction.getID() != null) idList.add(reaction.getID()); IAtomContainerSet reactants = reaction.getReactants(); for (int i = 0; i < reactants.getAtomContainerCount(); i++) { IAtomContainer mol = reactants.getAtomContainer(i); idList.addAll(AtomContainerManipulator.getAllIDs(mol)); } IAtomContainerSet products = reaction.getProducts(); for (int i = 0; i < products.getAtomContainerCount(); i++) { IAtomContainer mol = products.getAtomContainer(i); idList.addAll(AtomContainerManipulator.getAllIDs(mol)); } return idList; }
public static List<String> getAllIDs(IChemModel chemModel) { ArrayList<String> list = new ArrayList<String>(); if (chemModel.getID() != null) list.add(chemModel.getID()); ICrystal crystal = chemModel.getCrystal(); if (crystal != null) { list.addAll(AtomContainerManipulator.getAllIDs(crystal)); } IAtomContainerSet moleculeSet = chemModel.getMoleculeSet(); if (moleculeSet != null) { list.addAll(MoleculeSetManipulator.getAllIDs(moleculeSet)); } IReactionSet reactionSet = chemModel.getReactionSet(); if (reactionSet != null) { list.addAll(ReactionSetManipulator.getAllIDs(reactionSet)); } return list; } }
@Test public void testKeepingIDs() { IAtomContainer mol = new AtomContainer(); Atom atom = new Atom("C"); atom.setID("atom1"); mol.addAtom(atom); IDCreator.createIDs(mol); Assert.assertEquals("atom1", atom.getID()); Assert.assertNotNull(mol.getID()); List<String> ids = AtomContainerManipulator.getAllIDs(mol); Assert.assertEquals(2, ids.size()); }
@Test public void testNoDuplicateCreation() { IAtomContainer mol = new AtomContainer(); Atom atom1 = new Atom("C"); Atom atom2 = new Atom("C"); atom1.setID("a1"); mol.addAtom(atom2); mol.addAtom(atom1); IDCreator.createIDs(mol); Assert.assertEquals("a2", atom2.getID()); List<String> ids = AtomContainerManipulator.getAllIDs(mol); Assert.assertEquals(3, ids.size()); }
@Test public void testCreateIDs_IChemObject() { IAtomContainer mol = new AtomContainer(); Atom atom1 = new Atom("C"); Atom atom2 = new Atom("C"); mol.addAtom(atom1); mol.addAtom(atom2); Bond bond = new Bond(atom1, atom2); mol.addBond(bond); IDCreator.createIDs(mol); Assert.assertEquals("a1", atom1.getID()); Assert.assertEquals("b1", bond.getID()); List<String> ids = AtomContainerManipulator.getAllIDs(mol); Assert.assertEquals(4, ids.size()); }
@Test public void testGetAllIDs_IAtomContainer() { IAtomContainer mol = new AtomContainer(); // ethene mol.addAtom(new Atom("C")); mol.getAtom(0).setID("a1"); mol.addAtom(new Atom("C")); mol.getAtom(1).setID("a2"); mol.addAtom(new Atom("H")); mol.getAtom(2).setID("a3"); mol.addAtom(new Atom("H")); mol.getAtom(3).setID("a4"); mol.addAtom(new Atom("H")); mol.getAtom(4).setID("a5"); mol.addAtom(new Atom("H")); mol.getAtom(5).setID("a6"); List<String> ids = AtomContainerManipulator.getAllIDs(mol); Assert.assertEquals(6, ids.size()); Assert.assertTrue(ids.contains("a1")); Assert.assertTrue(ids.contains("a2")); Assert.assertTrue(ids.contains("a3")); Assert.assertTrue(ids.contains("a4")); Assert.assertTrue(ids.contains("a5")); Assert.assertTrue(ids.contains("a6")); }