/******************************************************************************* * Copyright (c) 2012 Original authors 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: * Original authors and others - initial API and implementation ******************************************************************************/ package org.eclipse.nebula.widgets.nattable.extension.builder.model; import org.eclipse.nebula.widgets.nattable.columnCategories.ColumnCategoriesModel; import org.eclipse.nebula.widgets.nattable.columnCategories.Node; import org.eclipse.nebula.widgets.nattable.extension.builder.model.TableColumn; import org.eclipse.nebula.widgets.nattable.extension.builder.util.ColumnCategoriesModelAssembler; import org.junit.Assert; import org.junit.Test; public class ColumnCategoriesModelAssemblerTest { @Test public void assembleModel() throws Exception { TableColumn[] columnProps = new TableColumn[] { new TableColumn(0, "a"), new TableColumn(1, "b").setCategory("C1"), new TableColumn(2, "c").setCategory("C1"), new TableColumn(3, "d").setCategory("C2"), new TableColumn(4, "e").setCategory("C3"), new TableColumn(5, "f") }; ColumnCategoriesModel model = ColumnCategoriesModelAssembler .setupColumnCategories(columnProps); Node rootCategory = model.getRootCategory().getChildren().get(0); Assert.assertEquals(5, rootCategory.getNumberOfChildren()); Node c1 = rootCategory.getChildren().get(2); Assert.assertEquals("C1", c1.getData()); Assert.assertEquals(2, c1.getChildren().size()); Node c2 = rootCategory.getChildren().get(3); Assert.assertEquals("C2", c2.getData()); Assert.assertEquals(1, c2.getChildren().size()); Node c3 = rootCategory.getChildren().get(4); Assert.assertEquals("C3", c3.getData()); Assert.assertEquals(1, c3.getChildren().size()); } @Test public void assembleModelAddingAllToRoot() throws Exception { TableColumn[] columnProps = new TableColumn[] { new TableColumn(0, "a"), new TableColumn(1, "b"), new TableColumn(2, "c"), new TableColumn(3, "d"), new TableColumn(4, "e"), new TableColumn(5, "f") }; ColumnCategoriesModel model = ColumnCategoriesModelAssembler .setupColumnCategories(columnProps); Node rootCategory = model.getRootCategory().getChildren().get(0); Assert.assertEquals(6, rootCategory.getNumberOfChildren()); } }