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_fns import n_state_model 
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_fns.n_state_model' module.""" 
33   
34       
35      n_state_model_fns = n_state_model.N_state_model() 
36   
37   
39          """Test the operation of the specific_fns.n_state_model._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_fns.n_state_model._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