package nl.ipo.cds.etl.operations.transform; import nl.ipo.cds.attributemapping.operations.Operation; import nl.ipo.cds.etl.operations.AbstractTestOperation; import org.junit.Test; import static org.junit.Assert.*; public class TestSplitStringTransform extends AbstractTestOperation { @Test public void testSplit () throws Exception { final Operation op = stringArrayOut (split (stringConstant ("Hello, world!"), ",")); final String[] result = execute (op, String[].class); assertEquals (2, result.length); assertEquals ("Hello", result[0]); assertEquals ("world!", result[1]); } @Test public void testSplitNone () throws Exception { final Operation op = stringArrayOut (split (stringConstant ("Hello, world!"), ";")); final String[] result = execute (op, String[].class); assertEquals (1, result.length); assertEquals ("Hello, world!", result[0]); } @Test public void testSplitMany () throws Exception { final Operation op = stringArrayOut (split (stringConstant ("0, 1, 2 , 3\t , 4 , 5 , 6 \n\r, 7 , 8 , 9 "), ",")); final String[] result = execute (op, String[].class); assertEquals (10, result.length); for (int i = 0; i < 10; ++ i) { assertEquals (String.valueOf (i), result[i]); } } @Test public void testSplitLongBoundary () throws Exception { final Operation op = stringArrayOut (split (stringConstant ("0boundary1"), "boundary")); final String[] result = execute (op, String[].class); assertEquals (2, result.length); assertEquals ("0", result[0]); assertEquals ("1", result[1]); } }