优先级计算

parent c4a85650
......@@ -9,14 +9,11 @@ import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.InjectMocks;
import org.mockito.junit.jupiter.MockitoExtension;
import java.time.LocalDateTime;
import java.time.OffsetDateTime;
import java.time.ZoneOffset;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import static org.junit.jupiter.api.Assertions.*;
/**
* 订单排序服务测试类
*/
......@@ -46,6 +43,11 @@ class OrderSortServiceTest {
// 执行测试
orderSortService.assignPriority(testOrders, rule);
// 按照优先级排序
testOrders.sort(
Comparator.comparing(Order::getActualPriority).reversed()
);
// 验证多级优先级分配
printOrderPriorities(testOrders); // 调试输出
......@@ -61,12 +63,12 @@ class OrderSortServiceTest {
List<Order> orders = new ArrayList<>();
// 创建5个测试订单,具有不同的属性
for (int i = 1; i <= 5; i++) {
for (int i = 1; i <=15; i++) {
Order order = new Order();
order.setId(i);
order.setProductId(100 + i);
order.setQuantity(50.0 * i);
order.setPriority(6 - i); // 优先级:5,4,3,2,1(倒序)
order.setPriority(15 - i); // 优先级:5,4,3,2,1(倒序)
order.setDueDate(OffsetDateTime.now().plusDays(i)); // 到期日递增
order.setTardiness(i * 0.5);
order.setCanSplit(i % 2 == 0);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment