Skip to content

Content of file TableConfigurationBuilder_PTest.java

/*******************************************************************************
 * Copyright (c) 2019 Christian W. Damus and others.
 *
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License 2.0
 * which accompanies this distribution, and is available at
 * https://www.eclipse.org/legal/epl-2.0/
 *
 * SPDX-License-Identifier: EPL-2.0
 *
 * Contributors:
 * Christian W. Damus - initial API and implementation
 ******************************************************************************/
package org.eclipse.emfforms.spi.swt.table;

import static org.hamcrest.CoreMatchers.hasItem;
import static org.hamcrest.CoreMatchers.not;
import static org.junit.Assert.assertThat;
import static org.mockito.Mockito.mock;

import java.util.Set;

import org.eclipse.core.databinding.observable.list.IObservableList;
import org.eclipse.emfforms.common.Feature;
import org.eclipse.swt.widgets.Composite;
import org.junit.Before;
import org.junit.Test;

/**
 * Unit tests for the {@link TableConfigurationBuilder} class.
 */
@SuppressWarnings("nls")
public class TableConfigurationBuilder_PTest {

	private TableConfigurationBuilder fixture;

	/**
	 * Initializes me.
	 */
	public TableConfigurationBuilder_PTest() {
		super();
	}

	@Test
	public void showHideColumns() {
		fixture.showHideColumns(true);
		assertThat("show/hide feature not enabled", enabledFeatures(),
hasItem(TableConfiguration.FEATURE_COLUMN_HIDE_SHOW)); fixture.showHideColumns(false); assertThat("show/hide feature still enabled", enabledFeatures(), not(hasItem(TableConfiguration.FEATURE_COLUMN_HIDE_SHOW))); } @Test public void columnSubstringFilter() { fixture.columnSubstringFilter(true); assertThat("filter feature not enabled", enabledFeatures(), hasItem(TableConfiguration.FEATURE_COLUMN_FILTER)); fixture.columnSubstringFilter(false); assertThat("filter feature still enabled", enabledFeatures(), not(hasItem(TableConfiguration.FEATURE_COLUMN_FILTER))); } @Test public void columnRegexFilter() { fixture.columnRegexFilter(true); assertThat("regex filter feature not enabled", enabledFeatures(), hasItem(TableConfiguration.FEATURE_COLUMN_REGEX_FILTER)); fixture.columnRegexFilter(false); assertThat("regex filter feature still enabled", enabledFeatures(), not(hasItem(TableConfiguration.FEATURE_COLUMN_REGEX_FILTER))); } @Test public void from_TableViewerSWTBuilder() { final Composite parent = mock(Composite.class); final IObservableList<?> input = mock(IObservableList.class); final TableViewerSWTBuilder viewerBuilder = TableViewerFactory.fillDefaults(parent, 0, input); viewerBuilder.showHideColumns(true); viewerBuilder.columnSubstringFilter(true); viewerBuilder.columnRegexFilter(true); fixture = TableConfigurationBuilder.from(viewerBuilder); assertThat("show/hide feature not enabled", enabledFeatures(), hasItem(TableConfiguration.FEATURE_COLUMN_HIDE_SHOW)); assertThat("filter feature not enabled", enabledFeatures(), hasItem(TableConfiguration.FEATURE_COLUMN_FILTER)); assertThat("regex filter feature not enabled", enabledFeatures(), hasItem(TableConfiguration.FEATURE_COLUMN_REGEX_FILTER)); } // // Test framework // @Before public void createFixture() { fixture = TableConfigurationBuilder.usingDefaults(); } Set<Feature> enabledFeatures() { return fixture.build().getEnabledFeatures(); } }