Index: modules/jndi/src/test/java/org/apache/harmony/jndi/tests/javax/naming/directory/SearchResultTest.java =================================================================== --- modules/jndi/src/test/java/org/apache/harmony/jndi/tests/javax/naming/directory/SearchResultTest.java (revision 490073) +++ modules/jndi/src/test/java/org/apache/harmony/jndi/tests/javax/naming/directory/SearchResultTest.java (working copy) @@ -26,6 +26,7 @@ static Log log = new Log(SearchResultTest.class); + BasicAttributes emptyAttrs = new BasicAttributes(); BasicAttributes attrs = new BasicAttributes("id_sample", "value_sample"); /* @@ -36,11 +37,18 @@ SearchResult r; r = new SearchResult("name", "obj", attrs); + assertEquals("name", r.getName()); assertEquals("java.lang.String", r.getClassName()); - assertEquals("name", r.getName()); assertEquals("obj", r.getObject()); assertEquals(attrs, r.getAttributes()); assertTrue(r.isRelative()); + + r = new SearchResult("name", null, attrs); + assertEquals("name", r.getName()); + assertEquals(null, r.getClassName()); + assertEquals(null, r.getObject()); + assertEquals(attrs, r.getAttributes()); + assertTrue(r.isRelative()); } /* @@ -51,11 +59,18 @@ SearchResult r; r = new SearchResult("name", "obj", attrs, false); + assertEquals("name", r.getName()); assertEquals("java.lang.String", r.getClassName()); - assertEquals("name", r.getName()); assertEquals("obj", r.getObject()); assertEquals(attrs, r.getAttributes()); assertFalse(r.isRelative()); + + r = new SearchResult("name", null, attrs, false); + assertEquals("name", r.getName()); + assertEquals(null, r.getClassName()); + assertEquals(null, r.getObject()); + assertEquals(attrs, r.getAttributes()); + assertFalse(r.isRelative()); } /* @@ -66,11 +81,32 @@ SearchResult r; r = new SearchResult("name", "classname", "obj", attrs); + assertEquals("name", r.getName()); assertEquals("classname", r.getClassName()); + assertEquals("obj", r.getObject()); + assertEquals(attrs, r.getAttributes()); + assertTrue(r.isRelative()); + + r = new SearchResult("name", null, "obj", attrs); assertEquals("name", r.getName()); + assertEquals("java.lang.String", r.getClassName()); assertEquals("obj", r.getObject()); assertEquals(attrs, r.getAttributes()); assertTrue(r.isRelative()); + + r = new SearchResult("name", "classname", null, attrs); + assertEquals("name", r.getName()); + assertEquals("classname", r.getClassName()); + assertEquals(null, r.getObject()); + assertEquals(attrs, r.getAttributes()); + assertTrue(r.isRelative()); + + r = new SearchResult("name", null, null, attrs); + assertEquals("name", r.getName()); + assertEquals(null, r.getClassName()); + assertEquals(null, r.getObject()); + assertEquals(attrs, r.getAttributes()); + assertTrue(r.isRelative()); } /* @@ -81,31 +117,128 @@ SearchResult r; r = new SearchResult("name", "classname", "obj", attrs, false); + assertEquals("name", r.getName()); assertEquals("classname", r.getClassName()); + assertEquals("obj", r.getObject()); + assertEquals(attrs, r.getAttributes()); + assertFalse(r.isRelative()); + + r = new SearchResult("name", null, "obj", attrs, false); assertEquals("name", r.getName()); + assertEquals("java.lang.String", r.getClassName()); assertEquals("obj", r.getObject()); assertEquals(attrs, r.getAttributes()); assertFalse(r.isRelative()); + + r = new SearchResult("name", "classname", null, attrs, false); + assertEquals("name", r.getName()); + assertEquals("classname", r.getClassName()); + assertEquals(null, r.getObject()); + assertEquals(attrs, r.getAttributes()); + assertFalse(r.isRelative()); + + r = new SearchResult("name", null, null, attrs, false); + assertEquals("name", r.getName()); + assertEquals(null, r.getClassName()); + assertEquals(null, r.getObject()); + assertEquals(attrs, r.getAttributes()); + assertFalse(r.isRelative()); } - public void testSearchResult_NullAttributes() { - log.setMethod("testSearchResult_NullAttributes()"); + public void testSearchResult_NullParameters() { + log.setMethod("testSearchResult_NullParameters()"); try { - new SearchResult(null, null, null); - fail("no illegal argument exception"); - } - catch (IllegalArgumentException e) { + new SearchResult(null, "obj", attrs); + fail("no illegal argument exception"); + } catch (IllegalArgumentException e) { // Expected, name cannot be null } + + try { + new SearchResult("name", "obj", null); + fail("no illegal argument exception"); + } catch (IllegalArgumentException e) { + // Expected, name cannot be null + } + + try { + new SearchResult(null, "obj", null); + fail("no illegal argument exception"); + } catch (IllegalArgumentException e) { + // Expected, name cannot be null + } + + try { + new SearchResult(null, "obj", attrs, false); + fail("no illegal argument exception"); + } catch (IllegalArgumentException e) { + // Expected, name cannot be null + } + + try { + new SearchResult("name", "obj", null, false); + fail("no illegal argument exception"); + } catch (IllegalArgumentException e) { + // Expected, name cannot be null + } + + try { + new SearchResult(null, "obj", null, false); + fail("no illegal argument exception"); + } catch (IllegalArgumentException e) { + // Expected, name cannot be null + } + + try { + new SearchResult(null, "classname", "obj", attrs); + fail("no illegal argument exception"); + } catch (IllegalArgumentException e) { + // Expected, name cannot be null + } + + try { + new SearchResult("name", "classname", "obj", null); + fail("no illegal argument exception"); + } catch (IllegalArgumentException e) { + // Expected, name cannot be null + } + + try { + new SearchResult(null, "classname", "obj", null); + fail("no illegal argument exception"); + } catch (IllegalArgumentException e) { + // Expected, name cannot be null + } + + try { + new SearchResult(null, "classname", "obj", attrs, false); + fail("no illegal argument exception"); + } catch (IllegalArgumentException e) { + // Expected, name cannot be null + } + + try { + new SearchResult("name", "classname", "obj", null, false); + fail("no illegal argument exception"); + } catch (IllegalArgumentException e) { + // Expected, name cannot be null + } + + try { + new SearchResult(null, "classname", "obj", null, false); + fail("no illegal argument exception"); + } catch (IllegalArgumentException e) { + // Expected, name cannot be null + } } public void testGetterAndSetter() { log.setMethod("testGetterAndSetter()"); SearchResult r; - r = new SearchResult("name", "obj", null); - assertNull(r.getAttributes()); + r = new SearchResult("name", "obj", emptyAttrs); + assertEquals(emptyAttrs, r.getAttributes()); r.setAttributes(attrs); assertEquals(attrs, r.getAttributes()); }