### Question:
RadixTreeNode { void removeChildNode(RadixTreeNode node) { if (node == null || node.key == null || node.key.isEmpty()) { throw new IllegalArgumentException(STRINGS.get("invalidNodeKey")); } char c = node.key.charAt(0); if (childNodes != null) { RadixTreeNode matchedNode = childNodes.get(c); if (matchedNode == node) { node = childNodes.remove(c); node.parentNode = null; } else { throw new IllegalArgumentException(STRINGS.get("invalidChildNode", node, this)); } } } RadixTreeNode(String key, String value); @Override String toString();  }### Answer:
@Test(expectedExceptions = IllegalArgumentException.class) public void testRemovalForNullNode() { RadixTreeNode rootNode = new RadixTreeNode(UNIT_TEST, UNIT_TEST); rootNode.removeChildNode(null); }
@Test(expectedExceptions = IllegalArgumentException.class) public void testRemovalForEmptyChildKey() { RadixTreeNode rootNode = new RadixTreeNode(UNIT_TEST, UNIT_TEST); RadixTreeNode firstChildNode = new RadixTreeNode("", ""); rootNode.removeChildNode(firstChildNode); }
@Test(expectedExceptions = IllegalArgumentException.class) public void testRemovalForNullChildKey() { RadixTreeNode rootNode = new RadixTreeNode(UNIT_TEST, UNIT_TEST); RadixTreeNode firstChildNode = new RadixTreeNode(null, ""); rootNode.removeChildNode(firstChildNode); }