@Test
public void shouldPerformThetaTwoSourceJoin() {

	final SopremoTestPlan sopremoPlan = new SopremoTestPlan(2, 1);
	final BinaryBooleanExpression condition = new ComparativeExpression(createPath("0", "id"),
		BinaryOperator.LESS, createPath("1", "userid"));
	final TwoSourceJoin join = new TwoSourceJoin().withCondition(condition);
	join.setInputs(sopremoPlan.getInputOperators(0, 2));
	join.setResultProjection(ObjectCreation.CONCATENATION);
	sopremoPlan.getOutputOperator(0).setInputs(join);
	sopremoPlan.getInput(0).
		addObject("name", "Jon Doe", "password", "asdf1234", "id", 1).
		addObject("name", "Jane Doe", "password", "qwertyui", "id", 2).
		addObject("name", "Max Mustermann", "password", "q1w2e3r4", "id", 3);
	sopremoPlan.getInput(1).
		addObject("userid", 1, "url", "code.google.com/p/jaql/").
		addObject("userid", 2, "url", "www.cnn.com").
		addObject("userid", 4, "url", "www.nbc.com").
		addObject("userid", 1, "url", "java.sun.com/javase/6/docs/api/");
	sopremoPlan.getExpectedOutput(0).
		addObject("name", "Jon Doe", "password", "asdf1234", "id", 1, "userid", 2, "url", "www.cnn.com").
		addObject("name", "Jon Doe", "password", "asdf1234", "id", 1, "userid", 4, "url", "www.nbc.com").
		addObject("name", "Jane Doe", "password", "qwertyui", "id", 2, "userid", 4, "url", "www.nbc.com").
		addObject("name", "Max Mustermann", "password", "q1w2e3r4", "id", 3, "userid", 4, "url", "www.nbc.com");
	sopremoPlan.run();
}