def test_roulette_wheel(self):

        slist = [0.06666666666666667, 0.13333333333333333, 0.2, 0.26666666666666666, 0.3333333333333333]
        sel_type = Selection(slist)

        for rand_position in sel_type._roulette_wheel(slist):
            self.assertGreaterEqual(5, rand_position)
            self.assertLessEqual(0, rand_position)
    def test_set_selection_list(self):

        sel_type = Selection()
        self.assertEqual(None, sel_type._selection_list)
        sel_type.set_selection_list([1.0, 2.0, 3.0, 4.0, 5.0])
        self.assertEqual(True, isinstance(sel_type._selection_list, list))

        #   test for fitness_list
        fitl = FitnessList(MAX)
        self.assertRaises(ValueError, sel_type.set_selection_list, fitl)
    def test_set_selection_list(self):

        sel_type = Selection()
        self.assertEqual(None, sel_type._selection_list)
        sel_type.set_selection_list([1.0, 2.0, 3.0, 4.0, 5.0])
        self.assertEqual(True, isinstance(sel_type._selection_list, list))

        #   test for fitness_list
        fitl = FitnessList(MAX)
        self.assertRaises(ValueError, sel_type.set_selection_list, fitl)
    def test_roulette_wheel(self):

        slist = [
            0.06666666666666667, 0.13333333333333333, 0.2, 0.26666666666666666,
            0.3333333333333333
        ]
        sel_type = Selection(slist)

        for rand_position in sel_type._roulette_wheel(slist):
            self.assertGreaterEqual(5, rand_position)
            self.assertLessEqual(0, rand_position)
    def test_class_init_(self):

        sel_type = Selection([1.0, 2.0, 3.0, 4.0, 5.0])

        #   check default selection type
        self.assertEqual(MAX, sel_type._selection_type)

        #   check list
        self.assertEqual(True, isinstance(sel_type._selection_list, list))

        sel_type = Selection()
        self.assertEqual(None, sel_type._selection_list)
    def test_make_sort_list(self):

        slist = [0.06666666666666667, 0.13333333333333333, 0.2, 0.26666666666666666, 0.3333333333333333]
        sel_type = Selection(slist)

        sorted_list = sel_type._make_sort_list()

        self.assertAlmostEqual(0.06666666666666667, sorted_list[0][0])
        self.assertAlmostEqual(0.13333333333333333, sorted_list[1][0])
        self.assertAlmostEqual(0.2, sorted_list[2][0])
        self.assertAlmostEqual(0.26666666666666666, sorted_list[3][0])
        self.assertAlmostEqual(0.3333333333333333, sorted_list[4][0])
        self.assertAlmostEqual(0, sorted_list[0][1])
        self.assertAlmostEqual(1, sorted_list[1][1])
        self.assertAlmostEqual(2, sorted_list[2][1])
        self.assertAlmostEqual(3, sorted_list[3][1])
        self.assertAlmostEqual(4, sorted_list[4][1])
    def test_make_sort_list(self):

        slist = [
            0.06666666666666667, 0.13333333333333333, 0.2, 0.26666666666666666,
            0.3333333333333333
        ]
        sel_type = Selection(slist)

        sorted_list = sel_type._make_sort_list()

        self.assertAlmostEqual(0.06666666666666667, sorted_list[0][0])
        self.assertAlmostEqual(0.13333333333333333, sorted_list[1][0])
        self.assertAlmostEqual(0.2, sorted_list[2][0])
        self.assertAlmostEqual(0.26666666666666666, sorted_list[3][0])
        self.assertAlmostEqual(0.3333333333333333, sorted_list[4][0])
        self.assertAlmostEqual(0, sorted_list[0][1])
        self.assertAlmostEqual(1, sorted_list[1][1])
        self.assertAlmostEqual(2, sorted_list[2][1])
        self.assertAlmostEqual(3, sorted_list[3][1])
        self.assertAlmostEqual(4, sorted_list[4][1])
    def test_set_selection_type(self):

        sel_type = Selection()
        self.assertEqual(None, sel_type._selection_list)
        sel_type.set_selection_list([1.0, 2.0, 3.0, 4.0, 5.0])
        self.assertEqual(True, isinstance(sel_type._selection_list, list))
    def test_set_selection_type(self):

        sel_type = Selection()
        self.assertEqual(None, sel_type._selection_list)
        sel_type.set_selection_list([1.0, 2.0, 3.0, 4.0, 5.0])
        self.assertEqual(True, isinstance(sel_type._selection_list, list))