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" ]))
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))
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))
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))