// ============================================================================ // // Copyright (C) 2006-2016 Talend Inc. - www.talend.com // // This source code is available under agreement available at // %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt // // You should have received a copy of the agreement // along with this program; if not, write to Talend SA // 9 rue Pages 92150 Suresnes, France // // ============================================================================ package org.talend.dataquality.helpers; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import org.junit.Before; import org.junit.Test; import org.talend.cwm.relational.RelationalFactory; import org.talend.cwm.relational.TdColumn; import org.talend.dataquality.domain.Domain; import org.talend.dataquality.domain.DomainFactory; import org.talend.dataquality.domain.pattern.Pattern; import org.talend.dataquality.domain.pattern.PatternFactory; import org.talend.dataquality.indicators.Indicator; import org.talend.dataquality.indicators.IndicatorParameters; import org.talend.dataquality.indicators.IndicatorsFactory; import org.talend.dataquality.indicators.NullCountIndicator; import org.talend.dataquality.indicators.RowCountIndicator; import orgomg.cwm.objectmodel.core.ModelElement; /** * created by talend on Sep 12, 2012 Detailled comment * */ public class IndicatorHelperTest { /** * DOC talend Comment method "setUp". * * @throws java.lang.Exception */ @Before public void setUp() throws Exception { // do nothing } /** * Test method for * {@link org.talend.dataquality.helpers.IndicatorHelper#getRowCountIndicator(orgomg.cwm.objectmodel.core.ModelElement, java.util.Map)} * . get RowCountIndicator */ @Test public void testGetRowCountIndicator1() { // TdColumn TdColumn column1 = RelationalFactory.eINSTANCE.createTdColumn(); // ~ // Indicator Indicator rowCountIndicator = IndicatorsFactory.eINSTANCE.createRowCountIndicator(); Indicator nullCountIndicator = IndicatorsFactory.eINSTANCE.createNullCountIndicator(); // ~ // List List<Indicator> list = new ArrayList<Indicator>(); list.add(rowCountIndicator); list.add(nullCountIndicator); // ~ // Map Map<ModelElement, List<Indicator>> elementToIndicator = new HashMap<ModelElement, List<Indicator>>(); elementToIndicator.put(column1, list); // ~ RowCountIndicator rowCountIndicator2 = IndicatorHelper.getRowCountIndicator(column1, elementToIndicator); assert (rowCountIndicator2 != null); } /** * Test method for * {@link org.talend.dataquality.helpers.IndicatorHelper#getRowCountIndicator(orgomg.cwm.objectmodel.core.ModelElement, java.util.Map)} * . get RowCountIndicator */ @Test public void testGetRowCountIndicator2() { // TdColumn TdColumn column1 = RelationalFactory.eINSTANCE.createTdColumn(); // ~ // List List<Indicator> list = null; // ~ // Map Map<ModelElement, List<Indicator>> elementToIndicator = new HashMap<ModelElement, List<Indicator>>(); elementToIndicator.put(column1, list); // ~ RowCountIndicator rowCountIndicator2 = IndicatorHelper.getRowCountIndicator(column1, elementToIndicator); assert (rowCountIndicator2 == null); } /** * Test method for * {@link org.talend.dataquality.helpers.IndicatorHelper#getNullCountIndicator(orgomg.cwm.objectmodel.core.ModelElement, java.util.Map)} * . get NullCountIndicator */ @Test public void testGetNullCountIndicator1() { // TdColumn TdColumn column1 = RelationalFactory.eINSTANCE.createTdColumn(); // ~ // Indicator Indicator rowCountIndicator = IndicatorsFactory.eINSTANCE.createRowCountIndicator(); Indicator nullCountIndicator = IndicatorsFactory.eINSTANCE.createNullCountIndicator(); // ~ // List List<Indicator> list = new ArrayList<Indicator>(); list.add(rowCountIndicator); list.add(nullCountIndicator); // ~ // Map Map<ModelElement, List<Indicator>> elementToIndicator = new HashMap<ModelElement, List<Indicator>>(); elementToIndicator.put(column1, list); // ~ NullCountIndicator nullCountIndicator2 = IndicatorHelper.getNullCountIndicator(column1, elementToIndicator); assert (nullCountIndicator2 != null); } /** * Test method for * {@link org.talend.dataquality.helpers.IndicatorHelper#getNullCountIndicator(orgomg.cwm.objectmodel.core.ModelElement, java.util.Map)} * . get NullCountIndicator */ @Test public void testGetNullCountIndicator2() { // TdColumn TdColumn column1 = RelationalFactory.eINSTANCE.createTdColumn(); // ~ // List List<Indicator> list = null; // ~ // Map Map<ModelElement, List<Indicator>> elementToIndicator = new HashMap<ModelElement, List<Indicator>>(); elementToIndicator.put(column1, list); // ~ NullCountIndicator nullCountIndicator2 = IndicatorHelper.getNullCountIndicator(column1, elementToIndicator); assert (nullCountIndicator2 == null); } /** * * Test method for get pattern name based on indicator. */ @Test public void testGetPatternName() { Indicator indicator = IndicatorsFactory.eINSTANCE.createRegexpMatchingIndicator(); IndicatorParameters parameters = IndicatorsFactory.eINSTANCE.createIndicatorParameters(); Domain validData = DomainFactory.eINSTANCE.createDomain(); Pattern pattern = PatternFactory.eINSTANCE.createPattern(); String pn = "Blank Text"; //$NON-NLS-1$ pattern.setName(pn); validData.getPatterns().add(pattern); parameters.setDataValidDomain(validData); indicator.setParameters(parameters); String patternName = IndicatorHelper.getPatternName(indicator); assert (patternName.equals(pn)); } /** * * Test method for get pattern based on indicator. */ @Test public void testGetPattern_1() { Indicator indicator = IndicatorsFactory.eINSTANCE.createRegexpMatchingIndicator(); IndicatorParameters parameters = IndicatorsFactory.eINSTANCE.createIndicatorParameters(); Domain validData = DomainFactory.eINSTANCE.createDomain(); Pattern pattern = PatternFactory.eINSTANCE.createPattern(); pattern.setName("Blank Text"); //$NON-NLS-1$ validData.getPatterns().add(pattern); parameters.setDataValidDomain(validData); indicator.setParameters(parameters); Pattern pattern2 = IndicatorHelper.getPattern(indicator); assert (pattern2 != null); assert (pattern2.equals(pattern)); } }