OrderUtils caches order values (for AnnotationAwareOrderComparator)

Issue: SPR-17064
This commit is contained in:
Juergen Hoeller
2018-07-19 11:58:42 +02:00
parent 1f5d0faf1f
commit d0bbbf4cae
2 changed files with 46 additions and 14 deletions

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2017 the original author or authors.
* Copyright 2002-2018 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -23,41 +23,48 @@ import org.junit.Test;
import static org.junit.Assert.*;
/**
*
* @author Stephane Nicoll
* @author Juergen Hoeller
*/
public class OrderUtilsTests {
@Test
public void getSimpleOrder() {
assertEquals(Integer.valueOf(50), OrderUtils.getOrder(SimpleOrder.class, null));
assertEquals(Integer.valueOf(50), OrderUtils.getOrder(SimpleOrder.class, null));
}
@Test
public void getPriorityOrder() {
assertEquals(Integer.valueOf(55), OrderUtils.getOrder(SimplePriority.class, null));
assertEquals(Integer.valueOf(55), OrderUtils.getOrder(SimplePriority.class, null));
}
@Test
public void getOrderWithBoth() {
assertEquals(Integer.valueOf(50), OrderUtils.getOrder(OrderAndPriority.class, null));
assertEquals(Integer.valueOf(50), OrderUtils.getOrder(OrderAndPriority.class, null));
}
@Test
public void getDefaultOrder() {
assertEquals(33, OrderUtils.getOrder(NoOrder.class, 33));
assertEquals(33, OrderUtils.getOrder(NoOrder.class, 33));
}
@Test
public void getPriorityValueNoAnnotation() {
assertNull(OrderUtils.getPriority(SimpleOrder.class));
assertNull(OrderUtils.getPriority(SimpleOrder.class));
}
@Test
public void getPriorityValue() {
assertEquals(Integer.valueOf(55), OrderUtils.getPriority(OrderAndPriority.class));
assertEquals(Integer.valueOf(55), OrderUtils.getPriority(OrderAndPriority.class));
}
@Order(50)
private static class SimpleOrder {}