package com.crossbow.volley; import com.android.volley.Request; import com.android.volley.VolleyError; import com.crossbow.BuildConfig; import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.RobolectricTestRunner; import org.robolectric.annotation.Config; import java.io.File; /** */ @RunWith(RobolectricTestRunner.class) @Config(constants = BuildConfig.class) public class FileRequestTest { @Test public void testFileRequestPriority() { int sequence = 0; TestRequest low = new TestRequest(Request.Priority.LOW); low.sequence(sequence++); TestRequest low2 = new TestRequest(Request.Priority.LOW); low2.sequence(sequence++); TestRequest normal = new TestRequest(Request.Priority.NORMAL); normal.sequence(sequence++); TestRequest high = new TestRequest(Request.Priority.HIGH); high.sequence(sequence++); TestRequest immeditate = new TestRequest(Request.Priority.IMMEDIATE); Assert.assertTrue(low.compareTo(normal) > 0); Assert.assertTrue(low.compareTo(high) > 0); Assert.assertTrue(low2.compareTo(low) > 0); Assert.assertTrue(immeditate.compareTo(high) < 0); Assert.assertTrue(high.compareTo(high) == 0); } private static class TestRequest extends FileRequest { private Request.Priority priority; private static int count = 9; public TestRequest(Request.Priority priority) { super(Integer.toHexString(count++), null); this.priority = priority; } @Override protected void deliverResult(Object result) { } @Override public Request.Priority getPriority() { return priority; } @Override public FileResponse doFileWork(File file) throws VolleyError { return null; } } }