package io.monokkel.core.utils;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import org.junit.Before;
import org.junit.Test;
import java.util.Map;
import static org.junit.Assert.assertEquals;
public class CleanerFunctionTest {
CleanerFunction cleanerFunction;
@Before
public void before(){
cleanerFunction = new CleanerFunction();
}
@Test
public void clean_withDataWithSpaces_expectCleanedContent(){
final String expected = "1577";
Map<String,Object> fieldsAndCleanExpressions = Maps.newHashMap();
fieldsAndCleanExpressions.put("object","\\s");
final Object transform = cleanerFunction.transform("object", "1 577", fieldsAndCleanExpressions);
assertEquals(expected, transform);
}
@Test
public void transform_withVimExpression_expectReplacedContent(){
final String expected = "1space577";
Map<String,Object> fieldsAndCleanExpressions = Maps.newHashMap();
fieldsAndCleanExpressions.put("object","s/\\s/space/g");
final Object transform = cleanerFunction.transform("object", "1 577", fieldsAndCleanExpressions);
assertEquals(expected, transform);
}
@Test
public void transform_withCombinedVimAndStringMatch_expectReplacedContent(){
final String expected = "1space5";
Map<String,Object> fieldsAndCleanExpressions = Maps.newHashMap();
fieldsAndCleanExpressions.put("object", Lists.newArrayList("s/\\s/space/g","7"));
final Object transform = cleanerFunction.transform("object", "1 577", fieldsAndCleanExpressions);
assertEquals(expected, transform);
}
@Test
public void transform_withCombinedVimAndStringMatchButWitWrongFieldName_expectNoReplacedContent(){
final String expected = "1 577";
Map<String,Object> fieldsAndCleanExpressions = Maps.newHashMap();
fieldsAndCleanExpressions.put("object", Lists.newArrayList("s/\\s/space/g","7"));
final Object transform = cleanerFunction.transform("anotherobject", expected, fieldsAndCleanExpressions);
assertEquals(expected, transform);
}
}