def test_point_cross_over_normal_even(self): size = 4 chromosome_1 = int('1010', 2) chromosome_2 = int('1100', 2) expected_1 = int('1000', 2) expected_2 = int('1110', 2) individual_1, individual_2 = point_cross_over(chromosome_1, chromosome_2, size, 2) self.assertEqual(individual_2, expected_2) self.assertEqual(individual_1, expected_1)
def test_point_cross_over_zero(self): size = 4 cross_point = 2 chromosome_1 = int('0000', 2) chromosome_2 = int('0000', 2) expected = int('0000', 2) individual_1, individual_2 = point_cross_over(chromosome_1, chromosome_2, size, cross_point) self.assertEqual(individual_1, expected) self.assertEqual(individual_2, expected)
def test_point_cross_over_max(self): size = 4 cross_point = 2 chromosome_1 = utils.max_binary_value(size) chromosome_2 = utils.max_binary_value(size) expected = utils.max_binary_value(size) individual_1, individual_2 = point_cross_over(chromosome_1, chromosome_2, size, cross_point) self.assertEqual(individual_1, expected) self.assertEqual(individual_2, expected)
def test_point_cross_over_first_position(self): size = 4 cross_point = 1 chromosome_1 = int('0010', 2) chromosome_2 = int('1100', 2) expected_1 = int('0100', 2) expected_2 = int('1010', 2) individual_1, individual_2 = point_cross_over(chromosome_1, chromosome_2, size, cross_point) self.assertEqual(individual_1, expected_1) self.assertEqual(individual_2, expected_2)