Package rabbit.ui.internal.viewers

Source Code of rabbit.ui.internal.viewers.PageDescriptorContentProviderTest

/*
* 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]);
  }
}
TOP

Related Classes of rabbit.ui.internal.viewers.PageDescriptorContentProviderTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.