TargetPerspectiveEditor implements IsElement, PerspectiveNameProvider { public void show() { view.setPerspectiveSelector(perspectiveDropDown); updateNavGroups(); } @Inject  TargetPerspectiveEditor(View view,
                                   PerspectiveDropDown perspectiveDropDown,
                                   PerspectivePluginManager perspectivePluginManager,
                                   PerspectiveTreeProvider perspectiveTreeProvider); @Override HTMLElement getElement(); void setNavItemList(List<NavItem> navItemList); void setOnUpdateCommand(Command onUpdateCommand); void setPerspectiveIdsExcluded(Set<String> perspectiveIdsExcluded); void setPerspectiveId(String perspectiveId); String getPerspectiveId(); @Override String getPerspectiveName(String perspectiveId); void setNavGroupEnabled(boolean enabled); void setNavGroupId(String navGroupId); String getNavGroupId(); void show(); void clear(); void onGroupSelected(String id); void onPerspectiveChanged();  }
@Test public void testShow() { verify(perspectiveDropDown).setSelectedPerspective("A"); verify(view).setPerspectiveSelector(perspectiveDropDown); verify(view).clearNavGroupItems(); verify(view).setNavGroupSelection(eq("root>level1a"), any()); verify(view).addNavGroupItem(eq("root"), any()); verify(view).addNavGroupItem(eq("root>level1b"), any()); verify(view).addNavGroupItem(eq("level2a"), any()); verify(view, times(3)).addNavGroupItem(anyString(), any()); verify(view, never()).addNavGroupItem(eq("root>level1a"), any()); verify(view, never()).addNavGroupItem(eq("root>null"), any()); verify(view, never()).addNavGroupItem(eq("null"), any()); verify(view, never()).addNavGroupItem(eq("null>level2a"), any()); }