package com.easyooo.framework.rule;
import static org.hamcrest.Matchers.hasProperty;
import static org.hamcrest.Matchers.is;
import static org.junit.Assert.assertThat;
import java.io.InputStreamReader;
import java.util.List;
import org.apache.commons.io.IOUtils;
import org.junit.Test;
/**
*
* @author Killer
*/
public class RuleBuilderTest {
@Test
public void testBuild1(){
String ruleText = "if(age > 20){ return 0;}else{ return 1;}";
Rule rule = RuleBuilder.build(ruleText, 1);
assertThat(rule, hasProperty("ruleId", is("Auto1")));
assertThat(rule, hasProperty("ruleText", is(ruleText)));
assertThat(rule, hasProperty("language", is(Language.JAVA)));
assertThat(rule, hasProperty("version", is(1)));
}
@Test
public void testBuild2()throws Throwable{
InputStreamReader isr = null;
InputStreamReader isr2 = null;
try{
isr = new InputStreamReader(getClass().getResourceAsStream("test.rule"));
isr2 = new InputStreamReader(getClass().getResourceAsStream("test.rule"));
List<String> lines = IOUtils.readLines(isr2);
StringBuffer sb = new StringBuffer();
for (String string : lines) {
sb.append(string);
}
Rule rule = RuleBuilder.build(isr, Language.JAVA, 1);
assertThat(rule, hasProperty("ruleId", is("Auto2")));
assertThat(rule, hasProperty("ruleText", is(sb.toString())));
assertThat(rule, hasProperty("language", is(Language.JAVA)));
assertThat(rule, hasProperty("version", is(1)));
}finally{
isr.close();
isr2.close();
}
}
}