123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181 |
- package com.pact.test;
- import static org.junit.jupiter.api.Assertions.*;
- import com.pact.Node;
- import com.pact.NodePair;
- import org.junit.jupiter.api.Test;
- import java.util.HashSet;
- import java.util.List;
- class NodeTest {
- @Test
- void equalsTest1(){
- Node node1 = new Node(null, "(ABC)");
- Node node2 = new Node(null, "(AB)");
- assertFalse(node1.equals(node2));
- }
- @Test
- void equalsTest2(){
- Node node1 = new Node(null, "(ABC)");
- Node node2 = new Node(null, "(AB)");
- assertFalse(node2.equals(node1));
- }
- @Test
- void equalsTest3(){
- Node node1 = new Node(null, "((BC)A)");
- Node node2 = new Node(null, "(A(CB))");
- assertTrue(node1.equals(node2));
- }
- @Test
- void equalsTest4(){
- Node node1 = new Node(null, "(A(BC))");
- Node node2 = new Node(null, "(A(BCD))");
- assertFalse(node1.equals(node2));
- }
- @Test
- void searchTest1() {
- Node node1 = new Node(null, "(A(B(C(DA))))");
- Node node2 = new Node(null, "(A(B(CD)))");
- List<NodePair> result = node2.deepSearch(node1);
- System.out.println(result);
- }
- private void reducedCombineTest(String s1, String s2, String sResult){
- Node node1 = new Node(null, s1);
- Node node2 = new Node(null, s2);
- HashSet<Node> results = Node.reducedCombine(node1, node2);
- for(Node result : results)
- System.out.println("" + node1 + " + " + node2 + " => " + result);
- assertTrue(results.size() == 1);
- Node result = results.iterator().next();
- assertEquals(new Node(null, sResult), result);
- }
- private void reducedCombineTest(String s1, String s2, String[] sResults){
- Node node1 = new Node(null, s1);
- Node node2 = new Node(null, s2);
- HashSet<Node> results = Node.reducedCombine(node1, node2);
- for(Node result : results)
- System.out.println("" + node1 + " + " + node2 + " => " + result);
- assertTrue(results.size() == sResults.length);
- for (String sResult : sResults) {
- Node testNode = new Node(null, sResult);
- boolean found = false;
- for(Node node : results) {
- if(testNode.equals(node)) {
- found = true;
- break;
- }
- }
- assertTrue(found);
- }
- }
- @Test
- void reducedCombineTest1() {
- reducedCombineTest("(DB)", "(AC)","((DB)(AC))");
- }
- @Test
- void reducedCombineTest2() {
- reducedCombineTest("(A(BDC))", "((CDB)A)", "(A(BDC))");
- }
- @Test
- void reducedCombineTest3() {
- reducedCombineTest("(A(CD))", "(A(B(CD)))", "(A(B(CD)))");
- }
- @Test
- void reducedCombineTest4() {
- reducedCombineTest("(A((BE)(CD)))", "(A(B(CD)))", "(A((BE)(CD)))");
- }
- @Test
- void reducedCombineTest5() {
- reducedCombineTest("(A(A(B(CD))))", "(A((BE)(C(DA))))", "((((BE)(C(DA)))A)A)");
- }
- @Test
- void reducedCombineTest6() {
- reducedCombineTest("(A(B(CD)))", "((A(B(CD)))(A(B(CD))))", "(A(B(CD)))");
- }
- @Test
- void reducedCombineTest7() {
- reducedCombineTest("(A(CD))", "(A(B(C(DA))))", "(A(B(C(DA))))");
- }
- @Test
- void reducedCombineTest8() {
- reducedCombineTest("(A(B(CD)))", "(A(B(C(DA))))", "(A(B(C(DA))))");
- }
- @Test
- void reducedCombineTest9() {
- reducedCombineTest("A", "B", "(AB)");
- }
- @Test
- void reducedCombineTest10() {
- reducedCombineTest("(A(B(D((CE)(CD)))))", "(F(C(DB)((D(BE))(CD))))", "(((((CD)((ECB)D))C(DB))BF)A)");
- }
- @Test
- void reducedCombineTest10b() {
- reducedCombineTest("(A(B(D((CE)(CD)))))", "(F(C(DB)((D(BE))(CD))))", "(((((CD)((ECB)D))C(DB))BF)A)");
- }
- @Test
- void reducedCombineTest11() {
- reducedCombineTest("((AB)(CD))", "(E(F(GA)))", "(((AB)(CD))(E(F(GA))))");
- }
- @Test
- void reducedCombineTest12() {
- reducedCombineTest("(A(B(CD)))", "(D(C(BA)))", "((A(B(CD)))(D(C(BA))))");
- }
- @Test
- void reducedCombineTest13() {
- reducedCombineTest("(A(CD))", "(A(BE))", "(A(CD)(BE))");
- }
- @Test
- void reducedCombineTest14() {
- reducedCombineTest("(A(CD)(BE))", "(A((CD)(BE)))", "(A((CD)(BE)))");
- }
- @Test
- void reducedCombineTest15() {
- String results[] = {"((AC)(AB))", "(((AC)B)A)"};
- reducedCombineTest("((AC)B)", "(A(AB))", results);
- }
- @Test
- void reducedCombineTest16() {
- String results[] = {"(((BA)C)A)", "(((CA)B)A)"};
- reducedCombineTest("((AC)BA)", "(A(CB))", results);
- }
- @Test
- void reducedCombineTest17() {
- reducedCombineTest("(A(BC))", "(DB)", "((A(BC))(DB))");
- }
- @Test
- void reducedCombineTest18() {
- reducedCombineTest("(((TH)(IS))(R(E(AL))))", "(((TH)(IS))(T(RE)))",
- "(((TH)(IS))(((E(AL))R)T))");
- }
- }
|