### Question:
TreeModelSupport { public void fireNewRoot() { Object root = treeModel.getRoot(); TreePath path = (root != null) ? new TreePath(root) : null; fireTreeStructureChanged(path); } TreeModelSupport(TreeModel model); void fireNewRoot(); void firePathLeafStateChanged(TreePath path); void fireTreeStructureChanged(TreePath subTreePath); void firePathChanged(TreePath path); void fireChildChanged(TreePath parentPath, int index, Object child); void fireChildrenChanged(TreePath parentPath, int[] indices,
            Object[] children); void fireChildAdded(TreePath parentPath, int index, Object child); void fireChildRemoved(TreePath parentPath, int index, Object child); void fireChildrenAdded(TreePath parentPath, int[] indices,
            Object[] children); void fireChildrenRemoved(TreePath parentPath, int[] indices,
            Object[] children); void addTreeModelListener(TreeModelListener l); TreeModelListener[] getTreeModelListeners(); void removeTreeModelListener(TreeModelListener l);  }### Answer:
@Test public void testNewRootNotNull() { support.fireNewRoot(); assertEquals( 1, report.getEventCount() ); assertEquals( 1, report.getStructureEventCount() ); final TreeModelEvent structureEvent = report.getLastStructureEvent(); assertNull( structureEvent.getChildren() ); assertEquals( model.getRoot(), structureEvent.getTreePath().getLastPathComponent() ); assertEquals( 1, structureEvent.getPath().length ); }