コード例 #1
0
ファイル: test_simplex.py プロジェクト: andrewhead/fabexample
class DecisionTest(unittest.TestCase):
    def setUp(self):
        self.simplex = Simplex()

    def test_pick_expand_if_expansion_best(self):
        mut_type = self.simplex.decide_mutation(np.array([3, 4, 5]), 2, 1, 6)
        self.assertEqual(mut_type, Mutation.EXPAND)

    def test_pick_reflect_if_reflection_better_than_expand_and_best(self):
        mut_type = self.simplex.decide_mutation(np.array([3, 4, 5]), 1, 2, 6)
        self.assertEqual(mut_type, Mutation.REFLECT)

    def test_pick_reflect_if_reflection_better_than_second_worst(self):
        mut_type = self.simplex.decide_mutation(np.array([1, 3, 4]), 2, 5, 6)
        self.assertEqual(mut_type, Mutation.REFLECT)

    def test_pick_contract_if_contraction_better_than_worst(self):
        mut_type = self.simplex.decide_mutation(np.array([1, 2, 4]), 5, 6, 3)
        self.assertEqual(mut_type, Mutation.CONTRACT)

    def test_pick_reduce_if_reflection_worse_than_all(self):
        mut_type = self.simplex.decide_mutation(np.array([1, 2, 3]), 4, 5, 6)
        self.assertEqual(mut_type, Mutation.REDUCE)