Search in sources :

Example 1 with Concat

use of org.talend.dataprep.transformation.actions.column.Concat in project data-prep by Talend.

the class MakeLineHeaderTest method should_keep_header_after_modifications_with_concat.

@Test
public void should_keep_header_after_modifications_with_concat() {
    // given
    Long rowId = 0L;
    // row 1
    Map<String, String> rowContent = new HashMap<>();
    rowContent.put("0000", "David");
    rowContent.put("0001", "Bowie");
    final DataSetRow row1 = new DataSetRow(rowContent);
    row1.setTdpId(rowId++);
    // row 2
    rowContent = new HashMap<>();
    rowContent.put("0000", "John");
    rowContent.put("0001", "Lennon");
    final DataSetRow row2 = new DataSetRow(rowContent);
    row2.setTdpId(rowId++);
    // row 3
    rowContent = new HashMap<>();
    rowContent.put("0000", "Johnny");
    rowContent.put("0001", "Lennon");
    final DataSetRow row3 = new DataSetRow(rowContent);
    row3.setTdpId(rowId++);
    // when
    final Map<String, String> makeHeaderParameters = new HashMap<>();
    makeHeaderParameters.put(ImplicitParameters.SCOPE.getKey().toLowerCase(), "line");
    makeHeaderParameters.put("row_id", row2.getTdpId().toString());
    final RunnableAction makeHeader = factory.create(action, makeHeaderParameters);
    final Map<String, String> concatColumnParameters = new HashMap<>();
    concatColumnParameters.put(ImplicitParameters.SCOPE.getKey().toLowerCase(), "column");
    concatColumnParameters.put(ImplicitParameters.COLUMN_ID.getKey().toLowerCase(), "0000");
    concatColumnParameters.put(OtherColumnParameters.MODE_PARAMETER, "other_column_mode");
    concatColumnParameters.put(OtherColumnParameters.SELECTED_COLUMN_PARAMETER, "0001");
    concatColumnParameters.put(ActionsUtils.CREATE_NEW_COLUMN, "true");
    final RunnableAction concat = factory.create(new Concat(), concatColumnParameters);
    ActionTestWorkbench.test(Arrays.asList(row1, row2, row3), actionRegistry, makeHeader, concat);
    // then
    // assertEquals(3, row3.getRowMetadata().getColumns().size());
    assertEquals("John", row1.getRowMetadata().getById("0000").getName());
    assertEquals("Lennon", row1.getRowMetadata().getById("0001").getName());
    assertEquals("John", row2.getRowMetadata().getById("0000").getName());
    assertEquals("Lennon", row2.getRowMetadata().getById("0001").getName());
    assertEquals("John", row3.getRowMetadata().getById("0000").getName());
    assertEquals("Lennon", row3.getRowMetadata().getById("0001").getName());
}
Also used : Concat(org.talend.dataprep.transformation.actions.column.Concat) HashMap(java.util.HashMap) RunnableAction(org.talend.dataprep.transformation.actions.common.RunnableAction) DataSetRow(org.talend.dataprep.api.dataset.row.DataSetRow) Test(org.junit.Test) AbstractMetadataBaseTest(org.talend.dataprep.transformation.actions.AbstractMetadataBaseTest)

Aggregations

HashMap (java.util.HashMap)1 Test (org.junit.Test)1 DataSetRow (org.talend.dataprep.api.dataset.row.DataSetRow)1 AbstractMetadataBaseTest (org.talend.dataprep.transformation.actions.AbstractMetadataBaseTest)1 Concat (org.talend.dataprep.transformation.actions.column.Concat)1 RunnableAction (org.talend.dataprep.transformation.actions.common.RunnableAction)1