package nl.ipo.cds.etl.operations.transform;
import static org.junit.Assert.assertEquals;
import nl.ipo.cds.attributemapping.operations.Operation;
import nl.ipo.cds.etl.operations.AbstractTestOperation;
import org.junit.Test;
import static nl.ipo.cds.etl.operations.transform.ConditionalTransform.Operation.*;
public class TestConditionalTransform extends AbstractTestOperation {
@Test
public void testConditional () throws Exception {
final Operation op = stringOut (
convertToString (
conditional (
stringConstant ("branch1"),
conditionalInput (
stringConstant ("branch0"),
"inValue",
IN,
"a"
)
)
)
);
assertEquals ("branch0", execute (op, String.class, "inValue", "a"));
}
@Test
public void testConditionalElse () throws Exception {
final Operation op = stringOut (
convertToString (
conditional (
stringConstant ("branch1"),
conditionalInput (
stringConstant ("branch0"),
"inValue",
IN,
"a"
)
)
)
);
assertEquals ("branch1", execute (op, String.class, "inValue", "b"));
}
@Test
public void testConditionalNoCondition () throws Exception {
final Operation op = stringOut (
convertToString (
conditional (
stringConstant ("branch1")
)
)
);
assertEquals ("branch1", execute (op, String.class, "inValue", "b"));
}
@Test
public void testConditionalNotIn () throws Exception {
final Operation op = stringOut (
convertToString (
conditional (
stringConstant ("branch1"),
conditionalInput (
stringConstant ("branch0"),
"inValue",
NOT_IN,
"b"
)
)
)
);
assertEquals ("branch0", execute (op, String.class, "inValue", "a"));
}
@Test
public void testConditionalIsEmpty () throws Exception {
final Operation op = stringOut (
convertToString (
conditional (
stringConstant ("branch1"),
conditionalInput (
stringConstant ("branch0"),
"inValue",
IS_EMPTY
)
)
)
);
assertEquals ("branch0", execute (op, String.class, "inValue", ""));
assertEquals ("branch0", execute (op, String.class, "inValue", null));
}
@Test
public void testConditionalIsNotEmpty () throws Exception {
final Operation op = stringOut (
convertToString (
conditional (
stringConstant ("branch1"),
conditionalInput (
stringConstant ("branch0"),
"inValue",
IS_NOT_EMPTY
)
)
)
);
assertEquals ("branch0", execute (op, String.class, "inValue", "a"));
assertEquals ("branch0", execute (op, String.class, "inValue", 1));
assertEquals ("branch1", execute (op, String.class, "inValue", ""));
assertEquals ("branch1", execute (op, String.class, "inValue", null));
}
@Test
public void testConditionalIsNull () throws Exception {
final Operation op = stringOut (
convertToString (
conditional (
stringConstant ("branch1"),
conditionalInput (
stringConstant ("branch0"),
"inValue",
IS_NULL
)
)
)
);
assertEquals ("branch1", execute (op, String.class, "inValue", ""));
assertEquals ("branch0", execute (op, String.class, "inValue", null));
}
@Test
public void testConditionalIsNotNull () throws Exception {
final Operation op = stringOut (
convertToString (
conditional (
stringConstant ("branch1"),
conditionalInput (
stringConstant ("branch0"),
"inValue",
IS_NULL
)
)
)
);
assertEquals ("branch1", execute (op, String.class, "inValue", ""));
assertEquals ("branch0", execute (op, String.class, "inValue", null));
assertEquals ("branch1", execute (op, String.class, "inValue", "a"));
assertEquals ("branch1", execute (op, String.class, "inValue", 1));
}
@Test
public void testConditionalGeometryType () throws Exception {
}
}