def test_repr_method(self): Q = ciw.Simulation( ciw.create_network('ciw/tests/testing_parameters/params.yml')) N1 = ciw.Node(1, Q) N2 = ciw.Node(2, Q) self.assertEqual(str(N1), 'Node 1') self.assertEqual(str(N2), 'Node 2')
def test_repr_method(self): Q = ciw.Simulation( ciw.load_parameters( 'ciw/tests/datafortesting/logs_test_for_simulation/parameters.yml' )) N1 = ciw.Node(1, Q) N2 = ciw.Node(2, Q) self.assertEqual(str(N1), 'Node 1') self.assertEqual(str(N2), 'Node 2')
def test_find_cum_transition_row_method(self): Q = ciw.Simulation( ciw.load_parameters( 'ciw/tests/datafortesting/logs_test_for_simulation/parameters.yml' )) N = ciw.Node(1, Q) self.assertEqual( [[round(obs, 1) for obs in row] for row in N.find_cum_transition_row()], [[0.1, 0.3, 0.4, 0.8], [0.6, 0.6, 0.6, 0.8], [0.0, 0.0, 0.4, 0.7]])
def test_init_method(self): Q = ciw.Simulation( ciw.create_network_from_yml( 'ciw/tests/testing_parameters/params.yml')) N = ciw.Node(1, Q) self.assertEqual(N.c, 9) self.assertEqual( N.transition_row, [[0.1, 0.2, 0.1, 0.4], [0.6, 0.0, 0.0, 0.2], [0.0, 0.0, 0.4, 0.3]]) self.assertEqual(N.next_event_date, float('Inf')) self.assertEqual(N.all_individuals, []) self.assertEqual(N.id_number, 1) self.assertEqual(N.interrupted_individuals, []) Q = ciw.Simulation( ciw.create_network_from_yml( 'ciw/tests/testing_parameters/params_change_class.yml')) N1 = Q.transitive_nodes[0] self.assertEqual(N1.class_change, [[0.5, 0.5], [0.5, 0.5]]) N2 = Q.transitive_nodes[1] self.assertEqual(N2.class_change, [[1.0, 0.0], [0.0, 1.0]]) self.assertEqual(N.interrupted_individuals, []) Q = ciw.Simulation( ciw.create_network_from_yml( 'ciw/tests/testing_parameters/params_schedule.yml')) N = Q.transitive_nodes[0] self.assertEqual(N.cyclelength, 100) self.assertEqual(N.c, 1) self.assertEqual(N.schedule, [[0, 1], [30, 2], [60, 1], [90, 3]]) self.assertEqual(N.next_event_date, 30) self.assertEqual(N.interrupted_individuals, []) Q = ciw.Simulation( ciw.create_network_from_yml( 'ciw/tests/testing_parameters/params_priorities.yml')) N = Q.transitive_nodes[0] self.assertEqual(N.c, 4) self.assertEqual(Q.network.priority_class_mapping, {0: 0, 1: 1}) self.assertEqual(Q.number_of_priority_classes, 2) self.assertEqual(N.interrupted_individuals, [])
def test_init_method(self): Q = ciw.Simulation( ciw.load_parameters( 'ciw/tests/datafortesting/logs_test_for_simulation/parameters.yml' )) N = ciw.Node(1, Q) self.assertEqual(N.mu, [['Exponential', 7.0], ['Exponential', 7.0], ['Deterministic', 0.3]]) self.assertEqual(N.c, 9) self.assertEqual( N.transition_row, [[0.1, 0.2, 0.1, 0.4], [0.6, 0.0, 0.0, 0.2], [0.0, 0.0, 0.4, 0.3]]) self.assertEqual(N.next_event_date, 'Inf') self.assertEqual(N.individuals, []) self.assertEqual(N.id_number, 1) self.assertEqual( [[round(obs, 1) for obs in row] for row in N.cum_transition_row], [[0.1, 0.3, 0.4, 0.8], [0.6, 0.6, 0.6, 0.8], [0.0, 0.0, 0.4, 0.7]]) Q = ciw.Simulation( ciw.load_parameters( 'ciw/tests/datafortesting/logs_test_for_dynamic_classes/parameters.yml' )) N1 = Q.transitive_nodes[0] self.assertEqual(N1.class_change_for_node, [[0.7, 0.3], [0.2, 0.8]]) N2 = Q.transitive_nodes[1] self.assertEqual(N2.class_change_for_node, [[1.0, 0.0], [0.0, 1.0]]) Q = ciw.Simulation( ciw.load_parameters( 'ciw/tests/datafortesting/logs_test_for_server_schedule/parameters.yml' )) N = Q.transitive_nodes[0] self.assertEqual(N.scheduled_servers, True) self.assertEqual(N.cyclelength, 100) self.assertEqual(N.c, 1) self.assertEqual(N.masterschedule, [ 30, 60, 90, 100, 130, 160, 190, 200, 230, 260, 290, 300, 330, 360, 390 ]) self.assertEqual(N.next_event_date, 30)