package be.jeffcheasey88.peeratcode.parser.java; import static org.junit.jupiter.api.Assertions.assertEquals; import java.io.BufferedReader; import java.io.IOException; import java.io.Reader; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.TestInstance; import org.junit.jupiter.api.TestInstance.Lifecycle; @TestInstance(Lifecycle.PER_CLASS) class OperationTest{ JavaParser parse(String code) throws Exception{ BufferedReader reader = new BufferedReader(new Reader(){public int read(char[] cbuf, int off, int len) throws IOException{return 0;}public void close() throws IOException {}}) { private boolean read = false; @Override public String readLine() throws IOException{ if(read) return null; read = true; return code; } }; JavaParser parser = new JavaParser(reader); parser.parse(); return parser; } @Test void ifOperation(){ try { JavaParser parser = parse("package be.jeffcheasey88.peeratcode.parser.java; class Test{ void function(){ int i = 0; if(i == 0) { return i; } return i; } }"); Class clazz = parser.getClazz(); clazz.show(0); assertEquals(1, clazz.getChilds().size()); Function function = (Function) clazz.getChilds().get(0); assertEquals(3, function.getChilds().size()); } catch (Exception e) { e.printStackTrace(); } } @Test void ifWithNoneOperation(){ try { JavaParser parser = parse("package be.jeffcheasey88.peeratcode.parser.java; class Test{ void function(){ int i = 0; if(i == 0); return i; } }"); Class clazz = parser.getClazz(); clazz.show(0); assertEquals(1, clazz.getChilds().size()); Function function = (Function) clazz.getChilds().get(0); assertEquals(3, function.getChilds().size()); } catch (Exception e) { e.printStackTrace(); } } }