### Question:
XmlUtil { public static Uri getUriAttribute(Node node, String attr, Uri def) { String uri = getAttribute(node, attr); if (uri != null) { try { return Uri.parse(uri); } catch (IllegalArgumentException e) { return def; } } return def; } private  XmlUtil(); static String getAttribute(Node node, String attr, String def); static String getAttribute(Node node, String attr); static Uri getUriAttribute(Node node, String attr, Uri def); static Uri getUriAttribute(Node node, String attr); static Uri getHttpUriAttribute(Node node, String attr, Uri base, Uri def); static Uri getHttpUriAttribute(Node node, String attr, Uri base); static boolean getBoolAttribute(Node node, String attr, boolean def); static boolean getBoolAttribute(Node node, String attr); static int getIntAttribute(Node node, String attr, int def); static int getIntAttribute(Node node, String attr); static Element parse(String xml); static Element parseSilent(String xml);  }### Answer:
@Test public void getUriAttribute() { assertEquals(URI_VALUE, XmlUtil.getUriAttribute(node, URI_ATTR)); assertEquals(URI_VALUE, XmlUtil.getUriAttribute(node, FAKE_ATTR, URI_VALUE)); assertEquals(URI_VALUE, XmlUtil.getUriAttribute(node, URI_MALFORMED_ATTR, URI_VALUE)); assertNull("getUriAttribute must return null for undefined attributes.", XmlUtil.getUriAttribute(node, FAKE_ATTR)); assertEquals(FTP_URI_VALUE, XmlUtil.getUriAttribute(node, FTP_URI_ATTR)); }