6fc412d949
This reverts commit711c0d2f79
, reversing changes made to2b47b8e5bf
.
60 lines
1.8 KiB
Java
60 lines
1.8 KiB
Java
package syntaxTree;
|
|
|
|
import java.io.File;
|
|
import java.io.FileNotFoundException;
|
|
import java.io.IOException;
|
|
|
|
import org.junit.Test;
|
|
|
|
import de.dhbwstuttgart.core.MyCompiler;
|
|
import de.dhbwstuttgart.core.MyCompilerAPI;
|
|
import de.dhbwstuttgart.logger.LoggerConfiguration;
|
|
import de.dhbwstuttgart.logger.Section;
|
|
import de.dhbwstuttgart.parser.JavaParser.yyException;
|
|
import de.dhbwstuttgart.syntaxtree.SourceFile;
|
|
import de.dhbwstuttgart.syntaxtree.SyntaxTreeNode;
|
|
import junit.framework.TestCase;
|
|
|
|
public class NodeEqualTest extends TestCase{
|
|
private static final String rootDirectory = System.getProperty("user.dir")+"/test/syntaxTree/";
|
|
private static final String testFile = "NodeEqualTest.jav";
|
|
|
|
@Test
|
|
public void test(){
|
|
LoggerConfiguration logConfig = new LoggerConfiguration();
|
|
logConfig.setOutput(Section.TYPEINFERENCE, System.out);
|
|
MyCompilerAPI compiler = MyCompiler.getAPI(logConfig);
|
|
MyCompilerAPI compiler2 = MyCompiler.getAPI(logConfig);
|
|
SourceFile tree = null;
|
|
SourceFile tree2 = null;
|
|
try {
|
|
tree = compiler.parse(new File(rootDirectory + testFile));
|
|
tree2 = compiler2.parse(new File(rootDirectory + testFile));
|
|
} catch (IOException | yyException e) {
|
|
e.printStackTrace();
|
|
fail();
|
|
}
|
|
recursivlyCheckEqual(tree, tree2);
|
|
}
|
|
|
|
private void recursivlyCheckEqual(SyntaxTreeNode node1, SyntaxTreeNode node2){
|
|
for(SyntaxTreeNode n1 : node1.getChildren()){
|
|
int matches = 0;
|
|
for(SyntaxTreeNode n2 : node2.getChildren()){
|
|
if(n2.equals(n1)){
|
|
System.out.println(n2 + " == "+n1);
|
|
matches++;
|
|
this.recursivlyCheckEqual(n1, n2);
|
|
}else{
|
|
System.out.println(n2 + " != "+ n1);
|
|
}
|
|
}
|
|
System.out.println("");
|
|
assertTrue("Nur eines der Children darf gleich sein, nicht "+matches, matches == 1 && node2.getChildren().size()>0);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
}
|