Test status quo for OrderComparator's PriorityOrdered support
See gh-23187
This commit is contained in:
		
							parent
							
								
									4357749a63
								
							
						
					
					
						commit
						6cc6abd405
					
				| 
						 | 
				
			
			@ -28,6 +28,7 @@ import static org.assertj.core.api.Assertions.assertThat;
 | 
			
		|||
 * @author Rick Evans
 | 
			
		||||
 * @author Stephane Nicoll
 | 
			
		||||
 * @author Juergen Hoeller
 | 
			
		||||
 * @author Sam Brannen
 | 
			
		||||
 */
 | 
			
		||||
public class OrderComparatorTests {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -69,6 +70,40 @@ public class OrderComparatorTests {
 | 
			
		|||
		assertThat(this.comparator.compare(new Object(), new Object())).isEqualTo(0);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	@Test
 | 
			
		||||
	public void comparePriorityOrderedInstancesBefore() {
 | 
			
		||||
		assertThat(this.comparator.compare(new StubPriorityOrdered(100), new StubPriorityOrdered(2000))).isEqualTo(-1);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	@Test
 | 
			
		||||
	public void comparePriorityOrderedInstancesSame() {
 | 
			
		||||
		assertThat(this.comparator.compare(new StubPriorityOrdered(100), new StubPriorityOrdered(100))).isEqualTo(0);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	@Test
 | 
			
		||||
	public void comparePriorityOrderedInstancesAfter() {
 | 
			
		||||
		assertThat(this.comparator.compare(new StubPriorityOrdered(982300), new StubPriorityOrdered(100))).isEqualTo(1);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	@Test
 | 
			
		||||
	public void comparePriorityOrderedInstanceToStandardOrderedInstanceWithSamePriority() {
 | 
			
		||||
		// PriorityOrdered wins in a tie.
 | 
			
		||||
		assertThat(this.comparator.compare(new StubPriorityOrdered(100), new StubOrdered(100))).isEqualTo(-1);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	@Test
 | 
			
		||||
	public void comparePriorityOrderedInstanceToStandardOrderedInstanceWithLowerPriority() {
 | 
			
		||||
		// PriorityOrdered should not be taken into account.
 | 
			
		||||
		assertThat(this.comparator.compare(new StubPriorityOrdered(100), new StubOrdered(200))).isEqualTo(-1);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	@Test
 | 
			
		||||
	public void comparePriorityOrderedInstanceToStandardOrderedInstanceWithHigherPriority() {
 | 
			
		||||
		// PriorityOrdered should probably not be taken into account, but it currently is.
 | 
			
		||||
		// assertThat(this.comparator.compare(new StubPriorityOrdered(200), new StubOrdered(100))).isEqualTo(1);
 | 
			
		||||
		assertThat(this.comparator.compare(new StubPriorityOrdered(200), new StubOrdered(100))).isEqualTo(-1);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	@Test
 | 
			
		||||
	public void compareWithSimpleSourceProvider() {
 | 
			
		||||
		Comparator<Object> customComparator = this.comparator.withSourceProvider(
 | 
			
		||||
| 
						 | 
				
			
			@ -86,7 +121,7 @@ public class OrderComparatorTests {
 | 
			
		|||
	@Test
 | 
			
		||||
	public void compareWithSourceProviderArrayNoMatch() {
 | 
			
		||||
		Comparator<Object> customComparator = this.comparator.withSourceProvider(
 | 
			
		||||
				new TestSourceProvider(5L, new Object[]{new Object(), new Object()}));
 | 
			
		||||
				new TestSourceProvider(5L, new Object[] {new Object(), new Object()}));
 | 
			
		||||
		assertThat(customComparator.compare(new Object(), 5L)).isEqualTo(0);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -98,13 +133,41 @@ public class OrderComparatorTests {
 | 
			
		|||
	}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	private static final class TestSourceProvider implements OrderComparator.OrderSourceProvider {
 | 
			
		||||
	private static class StubOrdered implements Ordered {
 | 
			
		||||
 | 
			
		||||
		private final int order;
 | 
			
		||||
 | 
			
		||||
		StubOrdered(int order) {
 | 
			
		||||
			this.order = order;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		@Override
 | 
			
		||||
		public int getOrder() {
 | 
			
		||||
			return this.order;
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	private static class StubPriorityOrdered implements PriorityOrdered {
 | 
			
		||||
 | 
			
		||||
		private final int order;
 | 
			
		||||
 | 
			
		||||
		StubPriorityOrdered(int order) {
 | 
			
		||||
			this.order = order;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		@Override
 | 
			
		||||
		public int getOrder() {
 | 
			
		||||
			return this.order;
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	private static class TestSourceProvider implements OrderComparator.OrderSourceProvider {
 | 
			
		||||
 | 
			
		||||
		private final Object target;
 | 
			
		||||
 | 
			
		||||
		private final Object orderSource;
 | 
			
		||||
 | 
			
		||||
		public TestSourceProvider(Object target, Object orderSource) {
 | 
			
		||||
		TestSourceProvider(Object target, Object orderSource) {
 | 
			
		||||
			this.target = target;
 | 
			
		||||
			this.orderSource = orderSource;
 | 
			
		||||
		}
 | 
			
		||||
| 
						 | 
				
			
			@ -118,20 +181,4 @@ public class OrderComparatorTests {
 | 
			
		|||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	private static final class StubOrdered implements Ordered {
 | 
			
		||||
 | 
			
		||||
		private final int order;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		public StubOrdered(int order) {
 | 
			
		||||
			this.order = order;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		@Override
 | 
			
		||||
		public int getOrder() {
 | 
			
		||||
			return this.order;
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue