}
@Test
//Test PlaceManager only calls an Activities launch method once if re-visited
public void testGoToPreviouslyOpenedPlace() throws Exception {
final PlaceRequest somewhere = new DefaultPlaceRequest( "Somewhere" );
final WorkbenchScreenActivity activity = new MockWorkbenchScreenActivity( placeManager );
final WorkbenchScreenActivity spy = spy( activity );
when( activityManager.getActivities( somewhere ) ).thenReturn( new HashSet<Activity>( 1 ) {{
add( spy );
}} );
placeManager = new PlaceManagerImplUnitTestWrapper( spy, panelManager, selectWorkbenchPartEvent );
placeManager.goTo( somewhere, panelManager.getRoot() );
verify( spy,
times( 1 ) ).launch( any( AcceptItem.class ),
eq( somewhere ),
isNull( Command.class ) );
verify( selectWorkbenchPartEvent,
times( 1 ) ).fire( any( SelectPlaceEvent.class ) );
PlaceRequest somewhereSecondCall = new DefaultPlaceRequest( "Somewhere" );
placeManager.goTo( somewhereSecondCall, panelManager.getRoot() );
verify( spy,
times( 1 ) ).launch( any( AcceptItem.class ),
eq( somewhere ),