package com.android.volley; import static org.hamcrest.Matchers.containsInAnyOrder; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertThat; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.TreeMap; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.RobolectricTestRunner; @RunWith(RobolectricTestRunner.class) public class NetworkResponseTest { @SuppressWarnings("deprecation") @Test public void mapToList() { Map headers = new HashMap<>(); headers.put("key1", "value1"); headers.put("key2", "value2"); NetworkResponse resp = new NetworkResponse(200, null, headers, false); List
expectedHeaders = new ArrayList<>(); expectedHeaders.add(new Header("key1", "value1")); expectedHeaders.add(new Header("key2", "value2")); assertThat(expectedHeaders, containsInAnyOrder(resp.allHeaders.toArray(new Header[0]))); } @Test public void listToMap() { List
headers = new ArrayList<>(); headers.add(new Header("key1", "value1")); // Later values should be preferred. headers.add(new Header("key2", "ignoredvalue")); headers.add(new Header("key2", "value2")); NetworkResponse resp = new NetworkResponse(200, null, false, 0L, headers); Map expectedHeaders = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); expectedHeaders.put("key1", "value1"); expectedHeaders.put("key2", "value2"); assertEquals(expectedHeaders, resp.headers); } @SuppressWarnings("deprecation") @Test public void nullValuesDontCrash() { new NetworkResponse(null); new NetworkResponse(null, null); new NetworkResponse(200, null, null, false); new NetworkResponse(200, null, null, false, 0L); new NetworkResponse(200, null, false, 0L, null); } }