blob: 08ee07b5bd496e4623b70baa8891fed2949bf83d [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2009, 2010 Nokia and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Nokia - Initial API and implementation
*******************************************************************************/
package org.eclipse.cdt.debug.edc.system.tests;
import java.util.List;
import org.eclipse.cdt.debug.edc.internal.ui.views.SystemDMContainer;
import org.eclipse.cdt.debug.edc.internal.ui.views.SystemRefreshOptionsDialog;
import org.eclipse.cdt.debug.edc.internal.ui.views.SystemVMContainer;
import org.eclipse.cdt.debug.edc.internal.ui.views.SystemViewInput;
import org.eclipse.cdt.debug.edc.system.tests.K9SystemView.K9ViewModel;
import org.eclipse.cdt.debug.edc.tests.TestUtils;
import org.eclipse.cdt.internal.ui.util.StringMatcher;
import org.eclipse.debug.internal.ui.viewers.model.provisional.TreeModelViewer;
import org.eclipse.ui.IActionBars;
import org.eclipse.ui.PlatformUI;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
@SuppressWarnings("restriction")
public class K9SystemViewTest {
K9SystemView k9View;
@Before
public void setUp() throws Exception {
k9View = (K9SystemView) TestUtils.showView(K9SystemView.VIEW_ID);
}
@Test
public void testCreatePartControl() {
List<TreeModelViewer> k9Viewers = k9View.getViewers();
List<SystemVMContainer> rootContainers = k9View.getViewModel().getRootContainers();
for (int i = 0; i < rootContainers.size(); i++) {
Assert.assertTrue(k9Viewers.get(i).getInput() instanceof SystemViewInput);
Assert.assertEquals(rootContainers.get(i), ((SystemViewInput)k9Viewers.get(i).getInput()).getContainer());
}
}
@Test
public void testRefresh() throws InterruptedException {
SystemDMContainer oldDogs = k9View.getAllDogs();
k9View.getRefreshJob().schedule();
k9View.getRefreshJob().join();
Assert.assertNotSame(oldDogs, k9View.getAllDogs());
}
@Test
public void testGetOverviewVMContainer() {
Assert.assertNotNull(((K9ViewModel)k9View.getViewModel()).getOverviewVMContainer());
}
@Test
public void testGetBreedsVMContainer() {
Assert.assertNotNull(((K9ViewModel)k9View.getViewModel()).getBreedsVMContainer());
}
@Test
public void testGetDogsVMContainer() {
Assert.assertNotNull(((K9ViewModel)k9View.getViewModel()).getDogsVMContainer());
}
@Test
public void testGetToysVMContainer() {
Assert.assertNotNull(((K9ViewModel)k9View.getViewModel()).getToysVMContainer());
}
@Test
public void testGetPresentationContext() {
Assert.assertNotNull(k9View.getPresentationContext());
}
@Test
public void testSetRefreshInterval() {
int interval = k9View.getRefreshInterval();
k9View.setRefreshInterval(8000);
Assert.assertEquals(8000, k9View.getRefreshInterval());
k9View.setRefreshInterval(interval);
}
@Test
public void testGetRefreshInterval() {
Assert.assertEquals(5000, k9View.getRefreshInterval());
}
@Test
public void testGetRefreshjob() {
Assert.assertNotNull(k9View.getRefreshJob());
}
@Test
public void testGetFilterMatcher() {
StringMatcher matcher = k9View.getFilterMatcher();
Assert.assertTrue(matcher.match("Indy"));
}
@Test
public void testCreateRefreshAction() {
IActionBars bars = k9View.getViewSite().getActionBars();
Assert.assertNotNull(bars.getToolBarManager().find("SYSTEM_REFRESH"));
}
@Test
public void testContributeToActionBars() {
IActionBars bars = k9View.getViewSite().getActionBars();
Assert.assertNotNull(bars.getMenuManager().find("SYSTEM_REFRESH"));
}
@Test
public void testOptions() {
PlatformUI.getWorkbench().getDisplay().syncExec(new Runnable() {
public void run() {
SystemRefreshOptionsDialog dialog = new SystemRefreshOptionsDialog(null);
dialog.setAutoRefresh(k9View.shouldAutoRefresh());
dialog.setRefreshInterval(k9View.getRefreshInterval() / 1000);
dialog.getRefreshInterval();
dialog.isAutoRefresh();
dialog.setBlockOnOpen(false);
dialog.open();
dialog.close();
}
});
}
}