|
1 | 1 | package com.thealgorithms.scheduling;
|
2 | 2 |
|
3 |
| -import org.junit.jupiter.api.Test; |
4 | 3 | import static org.junit.jupiter.api.Assertions.*;
|
5 | 4 |
|
| 5 | +import org.junit.jupiter.api.Test; |
| 6 | + |
6 | 7 | public class NonPreemptivePrioritySchedulingTest {
|
7 | 8 |
|
8 | 9 | @Test
|
9 | 10 | public void testScheduleProcesses() {
|
10 |
| - NonPreemptivePriorityScheduling.Process[] processes = { |
11 |
| - new NonPreemptivePriorityScheduling.Process(1, 10, 2), |
12 |
| - new NonPreemptivePriorityScheduling.Process(2, 5, 1), |
13 |
| - new NonPreemptivePriorityScheduling.Process(3, 8, 3) |
14 |
| - }; |
| 11 | + NonPreemptivePriorityScheduling.Process[] processes = {new NonPreemptivePriorityScheduling.Process(1, 10, 2), new NonPreemptivePriorityScheduling.Process(2, 5, 1), new NonPreemptivePriorityScheduling.Process(3, 8, 3)}; |
15 | 12 |
|
16 |
| - NonPreemptivePriorityScheduling.Process[] expectedOrder = { |
17 |
| - new NonPreemptivePriorityScheduling.Process(2, 5, 1), |
18 |
| - new NonPreemptivePriorityScheduling.Process(1, 10, 2), |
19 |
| - new NonPreemptivePriorityScheduling.Process(3, 8, 3) |
20 |
| - }; |
| 13 | + NonPreemptivePriorityScheduling.Process[] expectedOrder = {new NonPreemptivePriorityScheduling.Process(2, 5, 1), new NonPreemptivePriorityScheduling.Process(1, 10, 2), new NonPreemptivePriorityScheduling.Process(3, 8, 3)}; |
21 | 14 |
|
22 |
| - NonPreemptivePriorityScheduling.Process[] actualOrder = NonPreemptivePriorityScheduling |
23 |
| - .scheduleProcesses(processes); |
| 15 | + NonPreemptivePriorityScheduling.Process[] actualOrder = NonPreemptivePriorityScheduling.scheduleProcesses(processes); |
24 | 16 |
|
25 | 17 | assertArrayEquals(expectedOrder, actualOrder, "Processes should be scheduled by priority.");
|
26 | 18 | }
|
27 | 19 |
|
28 | 20 | @Test
|
29 | 21 | public void testCalculateAverageWaitingTime() {
|
30 |
| - NonPreemptivePriorityScheduling.Process[] processes = { |
31 |
| - new NonPreemptivePriorityScheduling.Process(1, 10, 2), |
32 |
| - new NonPreemptivePriorityScheduling.Process(2, 5, 1), |
33 |
| - new NonPreemptivePriorityScheduling.Process(3, 8, 3) |
34 |
| - }; |
| 22 | + NonPreemptivePriorityScheduling.Process[] processes = {new NonPreemptivePriorityScheduling.Process(1, 10, 2), new NonPreemptivePriorityScheduling.Process(2, 5, 1), new NonPreemptivePriorityScheduling.Process(3, 8, 3)}; |
35 | 23 |
|
36 |
| - NonPreemptivePriorityScheduling.Process[] executionOrder = NonPreemptivePriorityScheduling |
37 |
| - .scheduleProcesses(processes); |
| 24 | + NonPreemptivePriorityScheduling.Process[] executionOrder = NonPreemptivePriorityScheduling.scheduleProcesses(processes); |
38 | 25 |
|
39 | 26 | double expectedAvgWaitingTime = (0 + 10 + 15) / 3.0; // (0 + 10 + (10 + 8)) / 3
|
40 |
| - double actualAvgWaitingTime = NonPreemptivePriorityScheduling.calculateAverageWaitingTime(processes, |
41 |
| - executionOrder); |
| 27 | + double actualAvgWaitingTime = NonPreemptivePriorityScheduling.calculateAverageWaitingTime(processes, executionOrder); |
42 | 28 |
|
43 |
| - assertEquals(expectedAvgWaitingTime, actualAvgWaitingTime, 0.01, |
44 |
| - "Average waiting time should be calculated correctly."); |
| 29 | + assertEquals(expectedAvgWaitingTime, actualAvgWaitingTime, 0.01, "Average waiting time should be calculated correctly."); |
45 | 30 | }
|
46 | 31 |
|
47 | 32 | @Test
|
48 | 33 | public void testCalculateAverageTurnaroundTime() {
|
49 |
| - NonPreemptivePriorityScheduling.Process[] processes = { |
50 |
| - new NonPreemptivePriorityScheduling.Process(1, 10, 2), |
51 |
| - new NonPreemptivePriorityScheduling.Process(2, 5, 1), |
52 |
| - new NonPreemptivePriorityScheduling.Process(3, 8, 3) |
53 |
| - }; |
| 34 | + NonPreemptivePriorityScheduling.Process[] processes = {new NonPreemptivePriorityScheduling.Process(1, 10, 2), new NonPreemptivePriorityScheduling.Process(2, 5, 1), new NonPreemptivePriorityScheduling.Process(3, 8, 3)}; |
54 | 35 |
|
55 |
| - NonPreemptivePriorityScheduling.Process[] executionOrder = NonPreemptivePriorityScheduling |
56 |
| - .scheduleProcesses(processes); |
| 36 | + NonPreemptivePriorityScheduling.Process[] executionOrder = NonPreemptivePriorityScheduling.scheduleProcesses(processes); |
57 | 37 |
|
58 | 38 | double expectedAvgTurnaroundTime = (5 + 15 + 23) / 3.0; // (5 + (5 + 10) + (5 + 10 + 8)) / 3
|
59 |
| - double actualAvgTurnaroundTime = NonPreemptivePriorityScheduling.calculateAverageTurnaroundTime(processes, |
60 |
| - executionOrder); |
| 39 | + double actualAvgTurnaroundTime = NonPreemptivePriorityScheduling.calculateAverageTurnaroundTime(processes, executionOrder); |
61 | 40 |
|
62 |
| - assertEquals(expectedAvgTurnaroundTime, actualAvgTurnaroundTime, 0.01, |
63 |
| - "Average turnaround time should be calculated correctly."); |
| 41 | + assertEquals(expectedAvgTurnaroundTime, actualAvgTurnaroundTime, 0.01, "Average turnaround time should be calculated correctly."); |
64 | 42 | }
|
65 | 43 | }
|
0 commit comments