diff options
Diffstat (limited to 'test/test_reference.py')
| -rw-r--r-- | test/test_reference.py | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/test/test_reference.py b/test/test_reference.py new file mode 100644 index 0000000..460b2f3 --- /dev/null +++ b/test/test_reference.py @@ -0,0 +1,62 @@ +import utils +import os +import unittest + +TOPDIR = os.path.abspath(os.path.join(os.path.dirname(__file__), '..')) +utils.set_search_paths(TOPDIR) +import modelcif.reference + + +class Tests(unittest.TestCase): + def test_template_reference(self): + """Test TemplateReference classes""" + ref = modelcif.reference.PDB("1abc") + self.assertEqual(ref.name, "PDB") + self.assertIsNone(ref.other_details) + + # generic "other" reference + ref = modelcif.reference.TemplateReference("1abc") + self.assertEqual(ref.name, "Other") + self.assertIsNone(ref.other_details) + + # custom "other" reference + class CustomRef(modelcif.reference.TemplateReference): + """foo + bar""" + + ref = CustomRef("1abc") + self.assertEqual(ref.name, "Other") + self.assertEqual(ref.other_details, "foo") + + def test_target_reference(self): + """Test TargetReference classes""" + ref = modelcif.reference.UniProt("code", "acc", sequence='CC') + self.assertEqual(ref.name, "UNP") + self.assertIsNone(ref.other_details) + + # Reference with (deprecated) align begin, end + self.assertWarns(UserWarning, modelcif.reference.UniProt, + "code", "acc", align_begin=1, align_end=10, + sequence='CC') + + # Reference without explicit sequence + self.assertWarns(UserWarning, modelcif.reference.UniProt, + "code", "acc") + + # generic "other" reference + ref = modelcif.reference.TargetReference("code", "acc", sequence='CC') + self.assertEqual(ref.name, "Other") + self.assertIsNone(ref.other_details) + + # custom "other" reference + class CustomRef(modelcif.reference.TargetReference): + """foo + bar""" + + ref = CustomRef("code", "acc", sequence='CC') + self.assertEqual(ref.name, "Other") + self.assertEqual(ref.other_details, "foo") + + +if __name__ == '__main__': + unittest.main() |
