From e75cdf0272d69645090c888cb0925ce4b187c830 Mon Sep 17 00:00:00 2001
From: Tobias Schmidt <tobias.schmidt@unibas.ch>
Date: Fri, 1 Jul 2011 14:32:43 +0200
Subject: [PATCH] added unittest for CHARMM dialect PDBWriter

---
 modules/io/tests/test_io_pdb.cc | 40 +++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

diff --git a/modules/io/tests/test_io_pdb.cc b/modules/io/tests/test_io_pdb.cc
index 248c810a3..982bd2f46 100644
--- a/modules/io/tests/test_io_pdb.cc
+++ b/modules/io/tests/test_io_pdb.cc
@@ -565,4 +565,44 @@ BOOST_AUTO_TEST_CASE(anisou_BZDNG_274)
   BOOST_CHECK_NO_THROW(reader.Import(ent));
 }
 
+BOOST_AUTO_TEST_CASE(charmm_rname)
+{
+  {
+    PDBWriter writer(String("testfiles/pdb/charmm_rname-out.pdb"),
+                     IOProfile("CHARMM", true, false, false,
+                               false, false, false));
+
+    mol::EntityHandle ent=mol::CreateEntity();
+    mol::XCSEditor edi=ent.EditXCS();
+    mol::ChainHandle ch=edi.InsertChain("A");
+    mol::ResidueHandle r=edi.AppendResidue(ch, "ALA");
+    mol::AtomHandle a=edi.InsertAtom(r, "N", geom::Vec3(32.0, -128.0, -2.5));
+    mol::ResidueHandle r2=edi.AppendResidue(ch, "G3AG");
+    mol::AtomHandle a2=edi.InsertAtom(r2, "N", geom::Vec3(32.0, -128.0, -2.5));
+    writer.Write(ent);
+  }
+  BOOST_CHECK(compare_files("testfiles/pdb/charmm_rname.pdb",
+                            "testfiles/pdb/charmm_rname-out.pdb"));
+}
+
+BOOST_AUTO_TEST_CASE(charmm_longcname)
+{
+  {
+    PDBWriter writer(String("testfiles/pdb/charmm_longcname-out.pdb"),
+                     IOProfile("CHARMM", true, false, false,
+                               false, false, false));
+
+    mol::EntityHandle ent=mol::CreateEntity();
+    mol::XCSEditor edi=ent.EditXCS();
+    mol::ChainHandle ch=edi.InsertChain("PROT");
+    mol::ResidueHandle r=edi.AppendResidue(ch, "ALA");
+    mol::AtomHandle a=edi.InsertAtom(r, "N", geom::Vec3(32.0, -128.0, -2.5));
+    mol::ResidueHandle r2=edi.AppendResidue(ch, "GLY");
+    mol::AtomHandle a2=edi.InsertAtom(r2, "N", geom::Vec3(35.0, -99.0, -10.5));
+    writer.Write(ent);
+  }
+  BOOST_CHECK(compare_files("testfiles/pdb/charmm_longcname.pdb",
+                            "testfiles/pdb/charmm_longcname-out.pdb"));
+}
+
 BOOST_AUTO_TEST_SUITE_END()
-- 
GitLab