home5/test/NodeTest.java

120 lines
3.4 KiB
Java

import static org.junit.Assert.*;
import org.junit.Test;
// import java.util.*;
/** Testklass.
* @author Jaanus
*/
public class NodeTest {
@Test (timeout=1000)
public void testParsePostfix() {
String s = "(B1,C,D)A";
Node t = Node.parsePostfix (s);
String r = t.leftParentheticRepresentation();
assertEquals ("Tree: " + s, "A(B1,C,D)", r);
s = "(((2,1)-,4)*,(69,3)/)+";
t = Node.parsePostfix (s);
r = t.leftParentheticRepresentation();
assertEquals ("Tree: " + s, "+(*(-(2,1),4),/(69,3))", r);
}
@Test (timeout=1000)
public void testParsePostfixAndLeftParentheticRepresentation1() {
String s = "((((E)D)C)B)A";
Node t = Node.parsePostfix (s);
String r = t.leftParentheticRepresentation();
assertEquals ("Tree: " + s, "A(B(C(D(E))))", r);
s = "((C,(E)D)B,F)A";
t = Node.parsePostfix (s);
r = t.leftParentheticRepresentation();
assertEquals ("Tree: " + s, "A(B(C,D(E)),F)", r);
}
@Test (timeout=1000)
public void testParsePostfixAndLeftParentheticRepresentation2() {
String s = "(((512,1)-,4)*,(-6,3)/)+";
Node t = Node.parsePostfix (s);
String r = t.leftParentheticRepresentation();
assertEquals ("Tree: " + s, "+(*(-(512,1),4),/(-6,3))", r);
s = "(B,C,D,E,F)A";
t = Node.parsePostfix (s);
r = t.leftParentheticRepresentation();
assertEquals ("Tree: " + s, "A(B,C,D,E,F)", r);
s = "((1,(2)3,4)5)6";
t = Node.parsePostfix (s);
r = t.leftParentheticRepresentation();
assertEquals ("Tree: " + s, "6(5(1,3(2),4))", r);
}
@Test (timeout=1000)
public void testSingleRoot() {
String s = "ABC";
Node t = Node.parsePostfix (s);
String r = t.leftParentheticRepresentation();
assertEquals ("Tree: " + s, "ABC", r);
s = ".Y.";
t = new Node (s, null, null);
r = t.leftParentheticRepresentation();
assertEquals ("Single node" + s, s, r);
}
@Test (expected=RuntimeException.class)
public void testSpaceInNodeName() {
Node root = Node.parsePostfix ("A B");
}
@Test (expected=RuntimeException.class)
public void testTwoCommas() {
Node t = Node.parsePostfix ("(B,,C)A");
}
@Test (expected=RuntimeException.class)
public void testEmptySubtree() {
Node root = Node.parsePostfix ("()A");
}
@Test (expected=RuntimeException.class)
public void testInputWithBracketsAndComma() {
Node t = Node.parsePostfix ("( , ) ");
}
@Test (expected=RuntimeException.class)
public void testInputWithoutBrackets() {
Node t = Node.parsePostfix ("A,B");
}
@Test (expected=RuntimeException.class)
public void testInputWithDoubleBrackets() {
Node t = Node.parsePostfix ("((C,D))A");
}
@Test (expected=RuntimeException.class)
public void testComma1() {
Node root = Node.parsePostfix ("(,B)A");
}
@Test (expected=RuntimeException.class)
public void testComma2() {
Node root = Node.parsePostfix ("(B)A,(D)C");
}
@Test (expected=RuntimeException.class)
public void testComma3() {
Node root = Node.parsePostfix ("(B,C)A,D");
}
@Test (expected=RuntimeException.class)
public void testTab1() {
Node root = Node.parsePostfix ("\t");
}
@Test (expected=RuntimeException.class)
public void testWeirdBrackets() {
Node root = Node.parsePostfix (")A(");
}
}