/* * Copyright 2010 The Rabbit Eclipse Plug-in Project * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. */ package rabbit.ui.internal.viewers; import rabbit.ui.IPage; import rabbit.ui.Preference; import rabbit.ui.internal.util.PageDescriptor; import rabbit.ui.internal.viewers.PageDescriptorContentProvider; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import org.eclipse.core.runtime.jobs.Job; import org.eclipse.jface.action.IContributionItem; import org.eclipse.jface.action.IToolBarManager; import org.eclipse.swt.widgets.Composite; import org.eclipse.ui.IMemento; import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Test; import java.util.Arrays; /** * @see PageDescriptorContentProvider */ public class PageDescriptorContentProviderTest { private static PageDescriptorContentProvider contentProvider; private static final IPage page = new IPage() { @Override public void createContents(Composite parent) {} @Override public IContributionItem[] createToolBarItems(IToolBarManager toolBar) { return new IContributionItem[0]; } @Override public Job updateJob(Preference preference) { return null; } @Override public void onRestoreState(IMemento memento) {} @Override public void onSaveState(IMemento memento) {} }; @AfterClass public static void afterClass() { contentProvider.dispose(); } @BeforeClass public static void beforeClass() { contentProvider = new PageDescriptorContentProvider(); } @Test public void testHashChildren() throws Exception { PageDescriptor des = new PageDescriptor("", "", page, "", null, null); assertFalse(contentProvider.hasChildren(des)); des.getChildren().add(des); assertTrue(contentProvider.hasChildren(des)); assertFalse(contentProvider.hasChildren(new Object())); } @Test public void testGetElements() throws Exception { PageDescriptor des = new PageDescriptor("", "", page, "", null, null); Object[] elements = contentProvider.getElements(Arrays.asList(des)); assertEquals(1, elements.length); assertEquals(des, elements[0]); } @Test public void testGetChildren() throws Exception { PageDescriptor des = new PageDescriptor("", "", page, "", null, null); assertNotNull(contentProvider.getChildren(des)); assertEquals(0, contentProvider.getChildren(des).length); des.getChildren().add(des); assertEquals(1, contentProvider.getChildren(des).length); assertEquals(des, contentProvider.getChildren(des)[0]); } }