def test_job_scheduling_example3(self):
     """
     Example 3:
     Input: startTime = [1,1,1], endTime = [2,3,4], profit = [5,6,4]
     Output: 6
     """
     out = JobScheduling().jobScheduling(startTime=[1, 1, 1],
                                         endTime=[2, 3, 4],
                                         profit=[5, 6, 4])
     self.assertEqual(6, out)
 def test_job_scheduling_example1(self):
     """
     Example 1:
     Input: startTime = [1,2,3,3], endTime = [3,4,5,6], profit = [50,10,40,70]
     Output: 120
     Explanation: The subset chosen is the first and fourth job.
     Time range [1-3]+[3-6] , we get profit of 120 = 50 + 70.
     """
     out = JobScheduling().jobScheduling(startTime=[1, 2, 3, 3],
                                         endTime=[3, 4, 5, 6],
                                         profit=[50, 10, 40, 70])
     self.assertEqual(120, out)
 def test_job_scheduling_example2(self):
     """
     Example 2:
     Input: startTime = [1,2,3,4,6], endTime = [3,5,10,6,9], profit = [20,20,100,70,60]
     Output: 150
     Explanation: The subset chosen is the first, fourth and fifth job.
     Profit obtained 150 = 20 + 70 + 60.
     """
     out = JobScheduling().jobScheduling(startTime=[1, 2, 3, 4, 6],
                                         endTime=[3, 5, 10, 6, 9],
                                         profit=[20, 20, 100, 70, 60])
     self.assertEqual(150, out)
 def test_job_scheduling_job1overlapjob2(self):
     out = JobScheduling().jobScheduling(startTime=[1, 2],
                                         endTime=[3, 4],
                                         profit=[4, 3])
     self.assertEqual(4, out)
 def test_job_scheduling_job1gapjob2(self):
     out = JobScheduling().jobScheduling(startTime=[1, 3],
                                         endTime=[2, 4],
                                         profit=[2, 3])
     self.assertEqual(5, out)
 def test_job_scheduling_singlejob(self):
     out = JobScheduling().jobScheduling(startTime=[1],
                                         endTime=[2],
                                         profit=[3])
     self.assertEqual(3, out)