package org.openflamingo.mapreduce.etl.accounting;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.NullWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Mapper;
import org.apache.hadoop.mrunit.mapreduce.MapDriver;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.mvel2.CompileException;
import org.mvel2.MVEL;
import org.mvel2.ScriptRuntimeException;
import org.openflamingo.mapreduce.etl.clean.CleanMapper;
import java.util.HashMap;
import java.util.Map;
/**
* Description.
*
* @author Edward KIM
* @since 1.0
*/
public class AccountingMapTest {
private Mapper mapper;
private MapDriver driver;
@Before
public void setUp() {
mapper = new AccountingMapper();
driver = new MapDriver(mapper);
}
/*
@Test
public void test1() {
Configuration conf = new Configuration();
conf.set("columnSize", "3");
conf.set("expression", "$1+$2");
driver.setConfiguration(conf);
driver.withInput(new LongWritable(1), new Text("harry,100,100"));
driver.withOutput(NullWritable.get(), new Text("200.0"));
driver.runTest();
}
@Test
public void test2() {
Configuration conf = new Configuration();
conf.set("columnSize", "4");
conf.set("expression", "($1+$2)*$3");
driver.setConfiguration(conf);
driver.withInput(new LongWritable(1), new Text("harry,100,100,2"));
driver.withOutput(NullWritable.get(), new Text("400.0"));
driver.runTest();
}
@Test
public void test3() {
Configuration conf = new Configuration();
conf.set("columnSize", "4");
conf.set("expression", "($1+$2)/$3");
driver.setConfiguration(conf);
driver.withInput(new LongWritable(1), new Text("harry,100,100,2"));
driver.withOutput(NullWritable.get(), new Text("100.0"));
driver.runTest();
}
@Test
public void test4() {
Configuration conf = new Configuration();
conf.set("columnSize", "4");
conf.set("expression", "($1-$2)");
driver.setConfiguration(conf);
driver.withInput(new LongWritable(1), new Text("harry,100,100,2"));
driver.withOutput(NullWritable.get(), new Text("0.0"));
driver.runTest();
}
@Test(expected = CompileException.class) // TODO
public void test5() {
Configuration conf = new Configuration();
conf.set("columnSize", "4");
conf.set("expression", "($1-$2");
driver.setConfiguration(conf);
driver.withInput(new LongWritable(1), new Text("harry,100,100,2"));
driver.withOutput(NullWritable.get(), new Text("0.0"));
driver.runTest();
}
@Test(expected = IllegalArgumentException.class)
public void test6() {
Configuration conf = new Configuration();
conf.set("columnSize", "4");
conf.set("expression", "$1-$2");
driver.setConfiguration(conf);
driver.withInput(new LongWritable(1), new Text("harry,100"));
driver.withOutput(NullWritable.get(), new Text("0.0"));
driver.runTest();
}
@Test(expected = RuntimeException.class) // TODO exception unify
public void test7() {
Configuration conf = new Configuration();
conf.set("columnSize", "2");
conf.set("expression", "$1-");
driver.setConfiguration(conf);
driver.withInput(new LongWritable(1), new Text("harry,100"));
driver.withOutput(NullWritable.get(), new Text("0.0"));
driver.runTest();
}*/
// TODO make this test success
/*@Test
public void test8() {
Configuration conf = new Configuration();
conf.set("columnSize", "2");
conf.set("expression", "$1-1");
driver.setConfiguration(conf);
driver.withInput(new LongWritable(1), new Text("harry,100"));
driver.withOutput(NullWritable.get(), new Text("99.0"));
driver.runTest();
}*/
}