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)
Beispiel #3
0
    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})
Beispiel #4
0
 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)