예제 #1
0
    def test_landscape_data(self):
        net = ECA(30, size=5)
        data_before_setup = net.landscape_data
        self.assertEqual(data_before_setup.__dict__, {})

        data_after_setup = net.landscape().landscape_data
        self.assertEqual(data_before_setup.__dict__, {})
        self.assertEqual(
            list(data_after_setup.__dict__.keys()), ['transitions'])

        data_after_expound = net.expound().landscape_data
        self.assertEqual(data_before_setup.__dict__, {})
        self.assertEqual(set(data_after_setup.__dict__.keys()), set([
            "transitions",
            "basins",
            "basin_sizes",
            "attractors",
            "attractor_lengths",
            "in_degrees",
            "heights",
            "recurrence_times",
            "basin_entropy"
        ]))
        self.assertEqual(set(data_after_expound.__dict__.keys()), set([
            "transitions",
            "basins",
            "basin_sizes",
            "attractors",
            "attractor_lengths",
            "in_degrees",
            "heights",
            "recurrence_times",
            "basin_entropy"
        ]))
예제 #2
0
    def test_transitions_eca_values(self):
        net = ECA(30, 3)
        net.landscape(values={0: 1})
        self.assertEqual([1, 7, 7, 1, 7, 5, 3, 1], list(net.transitions))

        net.landscape(values={1: 0})
        self.assertEqual([0, 5, 5, 1, 5, 4, 0, 0], list(net.transitions))

        net.landscape(values={})
        self.assertEqual([0, 7, 7, 1, 7, 4, 2, 0], list(net.transitions))
예제 #3
0
    def test_transitions_eca_pin(self):
        net = ECA(30, 3)
        net.landscape(pin=[1])
        self.assertEqual([0, 5, 7, 3, 5, 4, 2, 2], list(net.transitions))

        net.landscape(pin=[0])
        self.assertEqual([0, 7, 6, 1, 6, 5, 2, 1], list(net.transitions))

        net.landscape(pin=None)
        self.assertEqual([0, 7, 7, 1, 7, 4, 2, 0], list(net.transitions))
예제 #4
0
    def test_transitions_eca_index(self):
        net = ECA(30, 3)
        net.landscape(index=1)
        self.assertEqual([0, 3, 2, 1, 6, 5, 6, 5], list(net.transitions))

        net.landscape(index=0)
        self.assertEqual([0, 1, 3, 3, 5, 4, 6, 6], list(net.transitions))

        net.landscape(index=None)
        self.assertEqual([0, 7, 7, 1, 7, 4, 2, 0], list(net.transitions))