Old engine for Continuous Time Bayesian Networks. Superseded by reCTBN. 🐍
https://github.com/madlabunimib/PyCTBN
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.9 KiB
47 lines
1.9 KiB
import sys
|
|
sys.path.append("/Users/Zalum/Desktop/Tesi/CTBN_Project/main_package/classes/")
|
|
import unittest
|
|
import numpy as np
|
|
|
|
import trajectory as tr
|
|
|
|
|
|
class TestTrajectory(unittest.TestCase):
|
|
|
|
def test_init(self):
|
|
cols_list = [np.array([1.2,1.3,.14]), np.arange(1,4), np.arange(4,7)]
|
|
t1 = tr.Trajectory(cols_list, len(cols_list) - 2)
|
|
self.assertTrue(np.array_equal(cols_list[0], t1.times))
|
|
self.assertTrue(np.array_equal(np.ravel(t1.complete_trajectory[:, : 1]), cols_list[1]))
|
|
self.assertTrue(np.array_equal(np.ravel(t1.complete_trajectory[:, 1: 2]), cols_list[2]))
|
|
self.assertEqual(len(cols_list) - 1, t1.complete_trajectory.shape[1])
|
|
self.assertEqual(t1.size(), t1.times.size)
|
|
|
|
def test_init_first_array_not_float_type(self):
|
|
cols_list = [np.arange(1, 4), np.arange(4, 7), np.array([1.2, 1.3, .14])]
|
|
self.assertRaises(TypeError, tr.Trajectory, cols_list, len(cols_list))
|
|
|
|
def test_complete_trajectory(self):
|
|
cols_list = [np.array([1.2, 1.3, .14]), np.arange(1, 4), np.arange(4, 7)]
|
|
t1 = tr.Trajectory(cols_list, len(cols_list) - 2)
|
|
complete = np.column_stack((cols_list[1], cols_list[2]))
|
|
self.assertTrue(np.array_equal(t1.complete_trajectory, complete))
|
|
|
|
def test_trajectory(self):
|
|
cols_list = [np.array([1.2, 1.3, .14]), np.arange(1, 4), np.arange(4, 7)]
|
|
t1 = tr.Trajectory(cols_list, len(cols_list) - 2)
|
|
self.assertTrue(np.array_equal(cols_list[1], t1.trajectory.ravel()))
|
|
|
|
def test_times(self):
|
|
cols_list = [np.array([1.2, 1.3, .14]), np.arange(1, 4), np.arange(4, 7)]
|
|
t1 = tr.Trajectory(cols_list, len(cols_list) - 2)
|
|
self.assertTrue(np.array_equal(cols_list[0], t1.times))
|
|
|
|
def test_repr(self):
|
|
cols_list = [np.array([1.2, 1.3, .14]), np.arange(1, 4), np.arange(4, 7)]
|
|
t1 = tr.Trajectory(cols_list, len(cols_list) - 2)
|
|
print(t1)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|
|
|