public void TestGetRelevantAtomContainer_IReaction_IBond() { foreach (var container in ReactionManipulator.GetAllAtomContainers(reaction)) { IBond aBond = container.Bonds[0]; Assert.AreEqual(container, ReactionManipulator.GetRelevantAtomContainer(reaction, aBond)); } }
public void TestGetRelevantAtomContainer_IReaction_IAtom() { foreach (var container in ReactionManipulator.GetAllAtomContainers(reaction)) { IAtom anAtom = container.Atoms[0]; Assert.AreEqual(container, ReactionManipulator.GetRelevantAtomContainer(reaction, anAtom)); } }
public void TestSetAtomProperties_IReactionSet_Object_Object() { ReactionManipulator.SetAtomProperties(reaction, "test", "ok"); foreach (var container in ReactionManipulator.GetAllAtomContainers(reaction)) { foreach (var atom in container.Atoms) { Assert.IsNotNull(atom.GetProperty <string>("test")); Assert.AreEqual("ok", atom.GetProperty <string>("test")); } } }
/// <summary> /// Get all molecule objects from a set of Reactions given a <see cref="IAtomContainerSet"/> to add. /// </summary> /// <param name="scheme">The set of reaction to inspect</param> /// <param name="molSet">The set of molecules to be added</param> /// <returns>All molecules</returns> public static IChemObjectSet <IAtomContainer> GetAllAtomContainers(IReactionScheme scheme, IChemObjectSet <IAtomContainer> molSet) { // A ReactionScheme can contain other IRreactionSet objects foreach (var rm in scheme.Schemes) { foreach (var ac in GetAllAtomContainers(rm, molSet)) { bool contain = false; foreach (var atomContainer in molSet) { if (atomContainer.Equals(ac)) { contain = true; break; } } if (!contain) { molSet.Add((IAtomContainer)(ac)); } } } foreach (var reaction in scheme.Reactions) { var newAtomContainerSet = ReactionManipulator.GetAllAtomContainers(reaction); foreach (var ac in newAtomContainerSet) { bool contain = false; foreach (var atomContainer in molSet) { if (atomContainer.Equals(ac)) { contain = true; break; } } if (!contain) { molSet.Add(ac); } } } return(molSet); }
public void TestGetAllAtomContainers_IReaction() { Assert.AreEqual(3, ReactionManipulator.GetAllAtomContainers(reaction).Count()); }