Example #1
0
    def test_solution_equality(self):
        solution_obj1 = solution.SolutionFactory(csv_data).get_solution()
        solution_obj2 = solution.Solution(csv_data,
                                          solution_obj1.operation_2d_array)

        self.assertEqual(solution_obj1, solution_obj2,
                         "These two solution.Solutions should be equal")
Example #2
0
    def test_incomplete_solution(self):
        try:
            solution_obj = solution.SolutionFactory(csv_data).get_solution()
            solution.Solution(
                csv_data, np.delete(solution_obj.operation_2d_array, 0,
                                    axis=0))

            self.fail("Failed to raise solution.IncompleteSolutionException")

        except IncompleteSolutionException:
            pass
Example #3
0
    def test_infeasible_solution(self):
        try:
            solution_obj = solution.SolutionFactory(csv_data).get_solution()
            solution_obj.operation_2d_array[[
                0, 200
            ]] = solution_obj.operation_2d_array[[200, 0]]
            solution.Solution(csv_data, solution_obj.operation_2d_array)

            self.fail("Failed to raise solution.InfeasibleSolutionException")

        except InfeasibleSolutionException:
            pass
Example #4
0
    def test_solution_less_than(self):
        solution_obj1 = solution.SolutionFactory(csv_data).get_solution()
        solution_obj2 = solution.Solution(csv_data,
                                          solution_obj1.operation_2d_array)
        solution_obj2.makespan -= 1

        self.assertLess(solution_obj2, solution_obj1,
                        "solution_obj2 should be less than solution_obj1")

        solution_obj2.makespan += 1
        solution_obj2.machine_makespans[0] -= 1

        self.assertLess(solution_obj2, solution_obj1,
                        "solution_obj2 should be less than solution_obj1")
Example #5
0
 def test_solution_in_list(self):
     sol1 = solution.SolutionFactory(csv_data).get_solution()
     sol2 = solution.Solution(csv_data, sol1.operation_2d_array)
     lst = [sol1]
     self.assertIn(sol2, lst)