@Test public void compareTo() { int sequence = 0; TestRequest low = new TestRequest(Priority.LOW); low.setSequence(sequence++); TestRequest low2 = new TestRequest(Priority.LOW); low2.setSequence(sequence++); TestRequest high = new TestRequest(Priority.HIGH); high.setSequence(sequence++); TestRequest immediate = new TestRequest(Priority.IMMEDIATE); immediate.setSequence(sequence++); // "Low" should sort higher because it's really processing order. assertTrue(low.compareTo(high) > 0); assertTrue(high.compareTo(low) < 0); assertTrue(low.compareTo(low2) < 0); assertTrue(low.compareTo(immediate) > 0); assertTrue(immediate.compareTo(high) < 0); }
@Override public NetworkResponse performRequest(Request<?> request) { Priority thisPriority = request.getPriority(); int thisSequence = request.getSequence(); int priorityDiff = thisPriority.compareTo(mLastPriority); // Should never experience a higher priority after a lower priority assertFalse(priorityDiff > 0); // If we're not transitioning to a new priority block, check sequence numbers if (priorityDiff == 0) { assertTrue(thisSequence > mLastSequence); } mLastSequence = thisSequence; mLastPriority = thisPriority; mSemaphore.release(); return new NetworkResponse(new byte[16]); }
public void testCompareTo() { int sequence = 0; TestRequest low = new TestRequest(Priority.LOW); low.setSequence(sequence++); TestRequest low2 = new TestRequest(Priority.LOW); low2.setSequence(sequence++); TestRequest high = new TestRequest(Priority.HIGH); high.setSequence(sequence++); TestRequest immediate = new TestRequest(Priority.IMMEDIATE); immediate.setSequence(sequence++); // "Low" should sort higher because it's really processing order. assertTrue(low.compareTo(high) > 0); assertTrue(high.compareTo(low) < 0); assertTrue(low.compareTo(low2) < 0); assertTrue(low.compareTo(immediate) > 0); assertTrue(immediate.compareTo(high) < 0); }