package org.codehaus.httpcache4j; import org.junit.Assert; import org.junit.Test; import java.util.*; import static org.codehaus.httpcache4j.HTTPMethod.*; /** * @author <a href="mailto:hamnis@codehaus.org">Erlend Hamnaberg</a> * @version $Revision: $ */ public class HTTPMethodTest { @Test public void testDefaultMethods() { List<String> methods = Arrays.asList( "connect", "DELEte", "geT", "HEAD", "OpTiOnS", "patch", "post", "pURGe", "put", "Trace" ); Set<HTTPMethod> actual = new LinkedHashSet<HTTPMethod>(); for (String method : methods) { actual.add(HTTPMethod.valueOf(method)); } Assert.assertEquals(defaultMethods.size(), actual.size()); ArrayList<HTTPMethod> expected = new ArrayList<>(defaultMethods.values()); Collections.sort(expected); Iterator<HTTPMethod> defaultIterator = expected.iterator(); Iterator<HTTPMethod> actualIterator = actual.iterator(); while(actualIterator.hasNext()) { HTTPMethod m = defaultIterator.next(); HTTPMethod am = actualIterator.next(); Assert.assertSame(m, am); } } @Test public void testUnknown() { Assert.assertFalse(defaultMethods.containsValue(HTTPMethod.valueOf("UNKNOWN"))); } @Test(expected = IllegalArgumentException.class) public void testNull() { HTTPMethod.valueOf(null); } @Test(expected = IllegalArgumentException.class) public void testEmpty() { HTTPMethod.valueOf(""); HTTPMethod.valueOf(" "); } }