package eu.play_project.dcep.distributedetalis.join.tests; import static org.junit.Assert.assertTrue; import java.io.IOException; import java.util.List; import org.junit.BeforeClass; import org.junit.Test; import eu.play_project.dcep.distributedetalis.join.NaturalJoiner; /** * @author Ningyuan Pan * */ public class NaturalJoinerTest { private static NaturalJoiner nj; @BeforeClass public static void init(){ nj = new NaturalJoiner(); } @Test public void testNaturalJoin1() throws IOException { NaturalJoinerTestReader re = new NaturalJoinerTestReader("nj1.txt"); re.read(); List<List> r = nj.naturalJoin(re.r1, re.v1, re.r2, re.v2); boolean pass = false; pass = re.v1.size() == re.v.size(); assertTrue("Variable size not equal on natural join test 1", pass); pass = r.size() == re.r.size(); assertTrue("Result size not equal on natural join test 1", pass); for(int i = 0; i < re.v1.size(); i++){ assertTrue("Variable error on natural join test 1", re.v1.get(i).equals(re.v.get(i))); } for(int i = 0; i < r.size(); i++){ List<String> m = r.get(i); List<String> n = re.r.get(i); assertTrue("Result size error on natural join test 1", m.size()==n.size()); for(int j = 0; j < n.size(); j++){ assertTrue("Result error on natural join test 1", m.get(j).equals(n.get(j))); } } } @Test public void testNaturalJoin2() throws IOException { NaturalJoinerTestReader re = new NaturalJoinerTestReader("nj2.txt"); re.read(); List<List> r = nj.naturalJoin(re.r1, re.v1, re.r2, re.v2); boolean pass = false; pass = re.v1.size() == re.v.size(); assertTrue("Variable size not equal on natural join test 2", pass); pass = r.size() == re.r.size(); assertTrue("Result size not equal on natural join test 2", pass); for(int i = 0; i < re.v1.size(); i++){ assertTrue("Variable error on natural join test 2", re.v1.get(i).equals(re.v.get(i))); } for(int i = 0; i < r.size(); i++){ List<String> m = r.get(i); List<String> n = re.r.get(i); assertTrue("Result size error on natural join test 2", m.size()==n.size()); for(int j = 0; j < n.size(); j++){ assertTrue("Result error on natural join test 2", m.get(j).equals(n.get(j))); } } } @Test public void testNaturalJoin3() throws IOException { NaturalJoinerTestReader re = new NaturalJoinerTestReader("nj3.txt"); re.read(); List<List> r = nj.naturalJoin(re.r1, re.v1, re.r2, re.v2); boolean pass = false; pass = re.v1.size() == re.v.size(); assertTrue("Variable size not equal on natural join test 3", pass); pass = r.size() == re.r.size(); assertTrue("Result size not equal on natural join test 3", pass); for(int i = 0; i < re.v1.size(); i++){ assertTrue("Variable error on natural join test 3", re.v1.get(i).equals(re.v.get(i))); } for(int i = 0; i < r.size(); i++){ List<String> m = r.get(i); List<String> n = re.r.get(i); assertTrue("Result size error on natural join test 3", m.size()==n.size()); for(int j = 0; j < n.size(); j++){ assertTrue("Result error on natural join test 3", m.get(j).equals(n.get(j))); } } } @Test public void testNaturalJoin4() throws IOException { NaturalJoinerTestReader re = new NaturalJoinerTestReader("nj4.txt"); re.read(); List<List> r = nj.naturalJoin(re.r1, re.v1, re.r2, re.v2); boolean pass = false; pass = re.v1.size() == re.v.size(); assertTrue("Variable size not equal on natural join test 4", pass); pass = r.size() == re.r.size(); assertTrue("Result size not equal on natural join test 4", pass); for(int i = 0; i < re.v1.size(); i++){ assertTrue("Variable error on natural join test 4", re.v1.get(i).equals(re.v.get(i))); } for(int i = 0; i < r.size(); i++){ List<String> m = r.get(i); List<String> n = re.r.get(i); assertTrue("Result size error on natural join test 4", m.size()==n.size()); for(int j = 0; j < n.size(); j++){ assertTrue("Result error on natural join test 4", m.get(j).equals(n.get(j))); } } } @Test public void testNaturalJoin5() throws IOException { NaturalJoinerTestReader re = new NaturalJoinerTestReader("nj5.txt"); re.read(); List<List> r = nj.naturalJoin(re.r1, re.v1, re.r2, re.v2); boolean pass = false; pass = re.v1.size() == re.v.size(); assertTrue("Variable size not equal on natural join test 5", pass); pass = r.size() == re.r.size(); assertTrue("Result size not equal on natural join test 5", pass); for(int i = 0; i < re.v1.size(); i++){ assertTrue("Variable error on natural join test 5", re.v1.get(i).equals(re.v.get(i))); } for(int i = 0; i < r.size(); i++){ List<String> m = r.get(i); List<String> n = re.r.get(i); assertTrue("Result size error on natural join test 5", m.size()==n.size()); for(int j = 0; j < n.size(); j++){ assertTrue("Result error on natural join test 5", m.get(j).equals(n.get(j))); } } } }