public void TestZeroZCoordinates() { var filename = "NCDK.Data.MDL.nozcoord.sdf"; Trace.TraceInformation("Testing: " + filename); var ins = ResourceLoader.GetAsStream(filename); var prop = new NameValueCollection { ["ForceReadAs3DCoordinates"] = "true" }; PropertiesListener listener = new PropertiesListener(prop); EnumerableSDFReader reader = new EnumerableSDFReader(ins, CDK.Builder); reader.Listeners.Add(listener); reader.CustomizeJob(); int molCount = 0; foreach (var obj in reader) { Assert.IsNotNull(obj); Assert.IsTrue(obj is IAtomContainer); molCount++; bool has3d = GeometryUtil.Has3DCoordinates((IAtomContainer)obj); Assert.IsTrue(has3d); } Assert.AreNotSame(0, molCount); reader.Close(); }
public void TestNo3DCoordsButForcedAs() { // First test unforced 3D coordinates var filename = "NCDK.Data.MDL.no3dStructures.sdf"; Trace.TraceInformation("Testing: " + filename); var ins = ResourceLoader.GetAsStream(filename); EnumerableSDFReader reader = new EnumerableSDFReader(ins, CDK.Builder); int molCount = 0; IAtomContainer mol = null; foreach (var obj in reader) { Assert.IsNotNull(obj); Assert.IsTrue(obj is IAtomContainer); molCount++; mol = (IAtomContainer)obj; } Assert.AreEqual(2, molCount); Assert.IsNotNull(mol.Atoms[0].Point2D); Assert.IsNull(mol.Atoms[0].Point3D); reader.Close(); // Now test forced 3D coordinates Trace.TraceInformation("Testing: " + filename); ins = ResourceLoader.GetAsStream(filename); reader = new EnumerableSDFReader(ins, CDK.Builder); reader.Listeners.Add(new MyListener()); reader.CustomizeJob(); molCount = 0; mol = null; foreach (var obj in reader) { Assert.IsNotNull(obj); Assert.IsTrue(obj is IAtomContainer); molCount++; mol = (IAtomContainer)obj; } Assert.AreEqual(2, molCount); Assert.IsNull(mol.Atoms[0].Point2D); Assert.IsNotNull(mol.Atoms[0].Point3D); reader.Close(); }