def test_strict_single_point_crossover(self, rand_mock): rand_mock.side_effect = lambda u: u[0] expected_root1 = GTreeNode(6) # TODO refactor after <BUG URL HERE> expected_root1.addChild(GTreeNode(2)) expected_root1.addChild(GTreeNode(6)) expected_root2 = GTreeNode(4) expected_root2.addChild(GTreeNode(3)) expected_root2.addChild(GTreeNode(5)) self.assertCrossoverResultsEqual( Crossovers.GTreeCrossoverSinglePointStrict, GTree(expected_root1), None, genome_attr_name=None, assertion_name='assetTreesEqual', crossover_extra_kwargs={'count': 1} ) self.assertCrossoverResultsEqual( Crossovers.GTreeCrossoverSinglePointStrict, GTree(expected_root1), GTree(expected_root2), genome_attr_name=None, assertion_name='assetTreesEqual', crossover_extra_kwargs={'count': 2} )
def setUp(self): mom_root = GTreeNode(1) mom_root.addChild(GTreeNode(2)) mom_root.addChild(GTreeNode(3)) self.mom = GTree(mom_root) self.mom.setParams(max_depth=2) dad_root = GTreeNode(4) dad_root.addChild(GTreeNode(5)) dad_root.addChild(GTreeNode(6)) self.dad = GTree(dad_root) self.dad.setParams(max_depth=2)
def test_strict_single_point_crossover(self, rand_mock): rand_mock.side_effect = lambda u: u[0] expected_root1 = GTreeNode(6) # TODO refactor after <BUG URL HERE> expected_root1.addChild(GTreeNode(2)) expected_root1.addChild(GTreeNode(6)) expected_root2 = GTreeNode(4) expected_root2.addChild(GTreeNode(3)) expected_root2.addChild(GTreeNode(5)) self.assertCrossoverResultsEqual( Crossovers.GTreeCrossoverSinglePointStrict, GTree(expected_root1), None, genome_attr_name=None, assertion_name='assetTreesEqual', crossover_extra_kwargs={'count': 1}) self.assertCrossoverResultsEqual( Crossovers.GTreeCrossoverSinglePointStrict, GTree(expected_root1), GTree(expected_root2), genome_attr_name=None, assertion_name='assetTreesEqual', crossover_extra_kwargs={'count': 2})