/* * Copyright 2016 Red Hat, Inc. and/or its affiliates. * * 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 org.drools.workbench.models.guided.dtable.shared.model; import static org.drools.workbench.models.guided.dtable.shared.model.ActionSetFieldCol52.FIELD_BOUND_NAME; import static org.drools.workbench.models.guided.dtable.shared.model.ActionSetFieldCol52.FIELD_FACT_FIELD; import static org.drools.workbench.models.guided.dtable.shared.model.ActionSetFieldCol52.FIELD_TYPE; import static org.drools.workbench.models.guided.dtable.shared.model.ActionSetFieldCol52.FIELD_UPDATE; import static org.drools.workbench.models.guided.dtable.shared.model.ActionSetFieldCol52.FIELD_VALUE_LIST; import static org.drools.workbench.models.guided.dtable.shared.model.DTColumnConfig52.FIELD_DEFAULT_VALUE; import static org.drools.workbench.models.guided.dtable.shared.model.DTColumnConfig52.FIELD_HEADER; import static org.drools.workbench.models.guided.dtable.shared.model.DTColumnConfig52.FIELD_HIDE_COLUMN; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import java.util.List; import org.junit.Before; import org.junit.Test; public class ActionSetFieldCol52Test extends ColumnTestBase { private ActionSetFieldCol52 column1; private ActionSetFieldCol52 column2; @Before public void setup() { column1 = new ActionSetFieldCol52(); column1.setBoundName("$var"); column1.setFactField("field"); column1.setType("Type"); column1.setValueList("a,b,c"); column1.setUpdate(false); column1.setHeader("header"); column1.setHideColumn(false); column1.setDefaultValue(new DTCellValue52("default")); column2 = new ActionSetFieldCol52(); column2.setBoundName("$var"); column2.setFactField("field"); column2.setType("Type"); column2.setValueList("a,b,c"); column2.setUpdate(false); column2.setHeader("header"); column2.setHideColumn(false); column2.setDefaultValue(new DTCellValue52("default")); } @Test public void testDiffEmpty() { checkDiffEmpty(column1, column2); } @Test public void testDiffBoundName() { column1.setBoundName("$var1"); column2.setBoundName("$var2"); checkSingleDiff(FIELD_BOUND_NAME, "$var1", "$var2", column1, column2); } @Test public void testDiffFactField() { column1.setFactField("field1"); column2.setFactField("field2"); checkSingleDiff(FIELD_FACT_FIELD, "field1", "field2", column1, column2); } @Test public void testDiffType() { column1.setType("Type1"); column2.setType("Type2"); checkSingleDiff(FIELD_TYPE, "Type1", "Type2", column1, column2); } @Test public void testDiffValueList() { column1.setValueList("a,b"); column2.setValueList("b,c"); checkSingleDiff(FIELD_VALUE_LIST, "a,b", "b,c", column1, column2); } @Test public void testDiffUpdate() { column1.setUpdate(false); column2.setUpdate(true); checkSingleDiff(FIELD_UPDATE, false, true, column1, column2); } @Test public void testDiffAll() { column1.setBoundName("$var1"); column1.setFactField("field1"); column1.setType("Type1"); column1.setValueList("a,b"); column1.setUpdate(false); column1.setHeader("header1"); column1.setHideColumn(false); column1.setDefaultValue(new DTCellValue52("default1")); column2.setBoundName("$var2"); column2.setFactField("field2"); column2.setType("Type2"); column2.setValueList("b,c"); column2.setUpdate(true); column2.setHeader("header2"); column2.setHideColumn(true); column2.setDefaultValue(new DTCellValue52("default2")); List<BaseColumnFieldDiff> diff = column1.diff(column2); assertNotNull(diff); assertEquals(8, diff.size()); assertEquals(FIELD_HIDE_COLUMN, diff.get(0).getFieldName()); assertEquals(false, diff.get(0).getOldValue()); assertEquals(true, diff.get(0).getValue()); assertEquals(FIELD_DEFAULT_VALUE, diff.get(1).getFieldName()); assertEquals("default1", diff.get(1).getOldValue()); assertEquals("default2", diff.get(1).getValue()); assertEquals(FIELD_HEADER, diff.get(2).getFieldName()); assertEquals("header1", diff.get(2).getOldValue()); assertEquals("header2", diff.get(2).getValue()); assertEquals(FIELD_BOUND_NAME, diff.get(3).getFieldName()); assertEquals("$var1", diff.get(3).getOldValue()); assertEquals("$var2", diff.get(3).getValue()); assertEquals(FIELD_FACT_FIELD, diff.get(4).getFieldName()); assertEquals("field1", diff.get(4).getOldValue()); assertEquals("field2", diff.get(4).getValue()); assertEquals(FIELD_TYPE, diff.get(5).getFieldName()); assertEquals("Type1", diff.get(5).getOldValue()); assertEquals("Type2", diff.get(5).getValue()); assertEquals(FIELD_VALUE_LIST, diff.get(6).getFieldName()); assertEquals("a,b", diff.get(6).getOldValue()); assertEquals("b,c", diff.get(6).getValue()); assertEquals(FIELD_UPDATE, diff.get(7).getFieldName()); assertEquals(false, diff.get(7).getOldValue()); assertEquals(true, diff.get(7).getValue()); } }