File: test_analysis.py

package info (click to toggle)
python-ihm 2.7-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 3,368 kB
  • sloc: python: 30,422; ansic: 5,990; sh: 24; makefile: 20
file content (68 lines) | stat: -rw-r--r-- 2,481 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
import utils
import os
import unittest

TOPDIR = os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))
utils.set_search_paths(TOPDIR)
import ihm.analysis


class Tests(unittest.TestCase):

    def test_filter_step(self):
        """Test analysis FilterStep class"""
        s = ihm.analysis.FilterStep(feature='RMSD', num_models_begin=42,
                                    num_models_end=5)
        self.assertEqual(s.type, 'filter')
        self.assertEqual(s.feature, 'RMSD')
        self.assertEqual(s.num_models_begin, 42)
        self.assertEqual(s.num_models_end, 5)
        # test with invalid feature
        self.assertRaises(ValueError, ihm.analysis.FilterStep,
                          feature='invalid', num_models_begin=42,
                          num_models_end=5)

    def test_cluster_step(self):
        """Test analysis ClusterStep class"""
        s = ihm.analysis.ClusterStep(feature='RMSD', num_models_begin=42,
                                     num_models_end=5)
        self.assertEqual(s.type, 'cluster')
        self.assertEqual(s.feature, 'RMSD')
        self.assertEqual(s.num_models_begin, 42)
        self.assertEqual(s.num_models_end, 5)
        self.assertEqual(s._get_report(), "cluster (42->5 models)")

    def test_rescore_step(self):
        """Test analysis RescoreStep class"""
        s = ihm.analysis.RescoreStep(feature='RMSD', num_models_begin=42,
                                     num_models_end=5)
        self.assertEqual(s.type, 'rescore')
        self.assertEqual(s.feature, 'RMSD')
        self.assertEqual(s.num_models_begin, 42)
        self.assertEqual(s.num_models_end, 5)

    def test_step(self):
        """Test analysis Step class"""
        s = ihm.analysis.Step(feature='RMSD', num_models_begin=42,
                              num_models_end=5)
        self.assertEqual(s.type, 'other')
        self.assertEqual(s.feature, 'RMSD')
        self.assertEqual(s.num_models_begin, 42)
        self.assertEqual(s.num_models_end, 5)

    def test_empty_step(self):
        """Test analysis EmptyStep class"""
        s = ihm.analysis.EmptyStep()
        self.assertEqual(s.type, 'none')
        self.assertEqual(s.feature, 'none')
        self.assertIsNone(s.num_models_begin)
        self.assertIsNone(s.num_models_end)

    def test_analysis(self):
        """Test Analysis class"""
        a = ihm.analysis.Analysis()
        self.assertEqual(a.steps, [])


if __name__ == '__main__':
    unittest.main()