@Test
public void shouldPerformEquiTwoSourceJoin() {

	final SopremoTestPlan sopremoPlan = new SopremoTestPlan(2, 1);
	final BinaryBooleanExpression condition = new ComparativeExpression(createPath("0", "id"),
		BinaryOperator.EQUAL, 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", 1, "url", "java.sun.com/javase/6/docs/api/");
	sopremoPlan.
		getExpectedOutput(0).
		addObject("name", "Jon Doe", "password", "asdf1234", "id", 1, "userid", 1, "url", "code.google.com/p/jaql/").
		addObject("name", "Jon Doe", "password", "asdf1234", "id", 1, "userid", 1, "url",
			"java.sun.com/javase/6/docs/api/").
		addObject("name", "Jane Doe", "password", "qwertyui", "id", 2, "userid", 2, "url", "www.cnn.com");
	sopremoPlan.run();
}