diff options
author | Ficus Kirkpatrick <ficus@android.com> | 2014-11-29 09:32:54 -0800 |
---|---|---|
committer | Ficus Kirkpatrick <ficus@android.com> | 2014-12-05 15:46:44 -0800 |
commit | b9b8dc3d98fb1a8c3f02c2c2fcc18cbd344c05cb (patch) | |
tree | 1f4a33c24f608d79781de54e5d1ff5f3072fa261 /src/test/java/com/android/volley/RequestTest.java | |
parent | 008e0cc8e51ef9e91110d91d4d662d0d86b252a1 (diff) | |
download | volley-b9b8dc3d98fb1a8c3f02c2c2fcc18cbd344c05cb.tar.gz |
Migrate from Gradle to Maven.
- Restructure source to src/{main,test} style
- Add pom.xml and update Android.mk
- Migrate all tests to JUnit4 and Robolectric
- RequestQueueTest is currently @Ignored as fixing it will
involve more extensive refactoring.
- Main library still builds in Gradle; tests do not
Change-Id: I1edc53bb1a54f64d3e806e4572901295ef63e2ca
Diffstat (limited to 'src/test/java/com/android/volley/RequestTest.java')
-rw-r--r-- | src/test/java/com/android/volley/RequestTest.java | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/src/test/java/com/android/volley/RequestTest.java b/src/test/java/com/android/volley/RequestTest.java new file mode 100644 index 0000000..d5beca5 --- /dev/null +++ b/src/test/java/com/android/volley/RequestTest.java @@ -0,0 +1,97 @@ +/* + * Copyright (C) 2011 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.volley; + +import com.android.volley.Request.Priority; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.robolectric.RobolectricTestRunner; + +import static org.junit.Assert.*; + +@RunWith(RobolectricTestRunner.class) +public class RequestTest { + + @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); + } + + private class TestRequest extends Request<Object> { + private Priority mPriority = Priority.NORMAL; + public TestRequest(Priority priority) { + super(Request.Method.GET, "", null); + mPriority = priority; + } + + @Override + public Priority getPriority() { + return mPriority; + } + + @Override + protected void deliverResponse(Object response) { + } + + @Override + protected Response<Object> parseNetworkResponse(NetworkResponse response) { + return null; + } + } + + @Test public void urlParsing() { + UrlParseRequest nullUrl = new UrlParseRequest(null); + assertEquals(0, nullUrl.getTrafficStatsTag()); + UrlParseRequest emptyUrl = new UrlParseRequest(""); + assertEquals(0, emptyUrl.getTrafficStatsTag()); + UrlParseRequest noHost = new UrlParseRequest("http:///"); + assertEquals(0, noHost.getTrafficStatsTag()); + UrlParseRequest badProtocol = new UrlParseRequest("bad:http://foo"); + assertEquals(0, badProtocol.getTrafficStatsTag()); + UrlParseRequest goodProtocol = new UrlParseRequest("http://foo"); + assertFalse(0 == goodProtocol.getTrafficStatsTag()); + } + + private class UrlParseRequest extends Request<Object> { + public UrlParseRequest(String url) { + super(Request.Method.GET, url, null); + } + + @Override + protected void deliverResponse(Object response) { + } + + @Override + protected Response<Object> parseNetworkResponse(NetworkResponse response) { + return null; + } + } +} |