// ============================================================================ // // 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.datamasking.semantic; import static org.junit.Assert.assertEquals; import java.util.Arrays; import java.util.List; import java.util.Random; import org.junit.Test; import org.talend.dataquality.datamasking.functions.DateVariance; import org.talend.dataquality.duplicating.AllDataqualitySamplingTests; public class DateFunctionAdapterTest { @Test public void testGenerateMaskedRow() { final DateVariance dv = new DateVariance(); dv.parse("61", true, new Random(AllDataqualitySamplingTests.RANDOM_SEED)); final List<String> patternList = Arrays .asList(new String[] { "yyyy/MM/dd", "yyyy-MM-dd", "yyyy/MM/dd H:mm:ss", "AA9999" }); final DateFunctionAdapter function = new DateFunctionAdapter(dv, patternList); assertEquals(null, function.generateMaskedRow(null)); // return null when input is null assertEquals("", function.generateMaskedRow("")); // return empty when input is empty assertEquals(" \t", function.generateMaskedRow(" \t")); // return original value when input contains only whitespaces assertEquals("2015-12-09", function.generateMaskedRow("2015-11-15")); // should mask assertEquals("2016/01/03", function.generateMaskedRow("2015/11/15")); // should mask assertEquals("2015/05/23 22:25:11", function.generateMaskedRow("2015/6/15 10:00:00")); assertEquals("14.2.1999", function.generateMaskedRow("22.3.1999")); assertEquals("5000*24*70", function.generateMaskedRow("2015*11*15")); // replace chars when no date pattern is applicable assertEquals("Vbrs-Kqc-260", function.generateMaskedRow("Vkfz-Zps-550")); } }