1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 from math import pi
24 from unittest import TestCase
25
26
27 from specific_analyses.n_state_model import parameters
28 from test_suite.unit_tests.n_state_model_testing_base import N_state_model_base_class
29
30
32 """Unit tests for the functions of the 'specific_analyses.n_state_model' module."""
33
34
35 n_state_model_fns = parameters
36
37
39 """Test the operation of the specific_analyses.n_state_model.parameters.assemble_param_vector() method."""
40
41
42 cdp.N = 3
43 cdp.probs = [0.1, 0.3, 0.6]
44 cdp.alpha = [0.0, pi/2, pi]
45 cdp.beta = [pi/2, pi, 3*pi/2]
46 cdp.gamma = [1.0, 3*pi/2, 2*pi]
47 cdp.model = '2-domain'
48
49
50 cdp.align_tensors = None
51
52
53 param_vector = self.n_state_model_fns.assemble_param_vector()
54
55
56 vector_true = [0.1, 0.3, 0.0, pi/2, 1.0, pi/2, pi, 3*pi/2, pi, 3*pi/2, 2*pi]
57
58
59 self.assertEqual(len(param_vector), len(vector_true))
60 for i in range(len(param_vector)):
61 self.assertEqual(param_vector[i], vector_true[i])
62
63
65 """Test the operation of the specific_analyses.n_state_model.parameters.disassemble_param_vector() method."""
66
67
68 cdp.N = 3
69 cdp.probs = [None]*3
70 cdp.alpha = [None]*3
71 cdp.beta = [None]*3
72 cdp.gamma = [None]*3
73 cdp.model = '2-domain'
74
75
76 param_vector = [0.1, 0.3, 0.0, pi/2, 1.0, pi/2, pi, 3*pi/2, pi, 3*pi/2, 2*pi]
77
78
79 self.n_state_model_fns.disassemble_param_vector(param_vector, data_types=['tensor'])
80
81
82 self.assertEqual(cdp.probs, [0.1, 0.3, 0.6])
83 self.assertEqual(cdp.alpha, [0.0, pi/2, pi])
84 self.assertEqual(cdp.beta, [pi/2, pi, 3*pi/2])
85 self.assertEqual(cdp.gamma, [1.0, 3*pi/2, 2*pi])
86