Esempio n. 1
0
 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')
Esempio n. 2
0
 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')
Esempio n. 3
0
 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]])
Esempio n. 4
0
    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, [])
Esempio n. 5
0
    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)