@@ -8,29 +8,53 @@ class JobSchedulingWithDeadlineTest {
8
8
9
9
@ Test
10
10
void testJobSequencingWithDeadlines1 () {
11
- JobSchedulingWithDeadline .Job [] jobs = {new JobSchedulingWithDeadline .Job (1 , 4 , 20 ), new JobSchedulingWithDeadline .Job (2 , 1 , 10 ), new JobSchedulingWithDeadline .Job (3 , 1 , 40 ), new JobSchedulingWithDeadline .Job (4 , 1 , 30 )};
11
+ JobSchedulingWithDeadline .Job [] jobs = {
12
+ new JobSchedulingWithDeadline .Job (1 , 1 , 4 , 20 ),
13
+ new JobSchedulingWithDeadline .Job (2 , 1 , 1 , 10 ),
14
+ new JobSchedulingWithDeadline .Job (3 , 1 , 1 , 40 ),
15
+ new JobSchedulingWithDeadline .Job (4 , 1 , 1 , 30 )
16
+ };
12
17
int [] result = JobSchedulingWithDeadline .jobSequencingWithDeadlines (jobs );
13
- assertArrayEquals (new int [] {2 , 60 }, result );
18
+ assertArrayEquals (new int [] {2 , 60 }, result ); // Expected output: 2 jobs, 60 profit
14
19
}
15
20
16
21
@ Test
17
22
void testJobSequencingWithDeadlines2 () {
18
- JobSchedulingWithDeadline .Job [] jobs = {new JobSchedulingWithDeadline .Job (1 , 2 , 100 ), new JobSchedulingWithDeadline .Job (2 , 1 , 19 ), new JobSchedulingWithDeadline .Job (3 , 2 , 27 ), new JobSchedulingWithDeadline .Job (4 , 1 , 25 ), new JobSchedulingWithDeadline .Job (5 , 1 , 15 )};
23
+ JobSchedulingWithDeadline .Job [] jobs = {
24
+ new JobSchedulingWithDeadline .Job (1 , 1 , 2 , 100 ),
25
+ new JobSchedulingWithDeadline .Job (2 , 1 , 1 , 19 ),
26
+ new JobSchedulingWithDeadline .Job (3 , 1 , 2 , 27 ),
27
+ new JobSchedulingWithDeadline .Job (4 , 1 , 1 , 25 ),
28
+ new JobSchedulingWithDeadline .Job (5 , 1 , 1 , 15 )
29
+ };
19
30
int [] result = JobSchedulingWithDeadline .jobSequencingWithDeadlines (jobs );
20
- assertArrayEquals (new int [] {2 , 127 }, result );
31
+ assertArrayEquals (new int [] {2 , 127 }, result ); // Expected output: 2 jobs, 127 profit
32
+ }
33
+
34
+ @ Test
35
+ void testJobSequencingWithDeadlinesWithArrivalTimes () {
36
+ JobSchedulingWithDeadline .Job [] jobs = {
37
+ new JobSchedulingWithDeadline .Job (1 , 2 , 5 , 50 ),
38
+ new JobSchedulingWithDeadline .Job (2 , 3 , 4 , 60 ),
39
+ new JobSchedulingWithDeadline .Job (3 , 1 , 3 , 20 )
40
+ };
41
+ int [] result = JobSchedulingWithDeadline .jobSequencingWithDeadlines (jobs );
42
+ assertArrayEquals (new int [] {3 , 130 }, result ); // All 3 jobs fit within their deadlines
21
43
}
22
44
23
45
@ Test
24
46
void testJobSequencingWithDeadlinesNoJobs () {
25
47
JobSchedulingWithDeadline .Job [] jobs = {};
26
48
int [] result = JobSchedulingWithDeadline .jobSequencingWithDeadlines (jobs );
27
- assertArrayEquals (new int [] {0 , 0 }, result );
49
+ assertArrayEquals (new int [] {0 , 0 }, result ); // No jobs, 0 profit
28
50
}
29
51
30
52
@ Test
31
53
void testJobSequencingWithDeadlinesSingleJob () {
32
- JobSchedulingWithDeadline .Job [] jobs = {new JobSchedulingWithDeadline .Job (1 , 1 , 50 )};
54
+ JobSchedulingWithDeadline .Job [] jobs = {
55
+ new JobSchedulingWithDeadline .Job (1 , 1 , 1 , 50 )
56
+ };
33
57
int [] result = JobSchedulingWithDeadline .jobSequencingWithDeadlines (jobs );
34
- assertArrayEquals (new int [] {1 , 50 }, result );
58
+ assertArrayEquals (new int [] {1 , 50 }, result ); // 1 job scheduled, 50 profit
35
59
}
36
60
}
0 commit comments