@Test
public void matchMultipleColumns(){

	Map<String, String> firstTrue = createRow(new String[][]{{"value", "1"}, {"flag", "true"}, {"output", "firstTrue"}});
	Map<String, String> firstFalse = createRow(new String[][]{{"value", "1"}, {"flag", "false"}, {"output", "firstFalse"}});
	Map<String, String> secondTrue = createRow(new String[][]{{"value", "2"}, {"flag", "true"}, {"output", "secondTrue"}});
	Map<String, String> secondFalse = createRow(new String[][]{{"value", "2"}, {"flag", "false"}, {"output", "secondFalse"}});
	Map<String, String> thirdTrue = createRow(new String[][]{{"value", "3"}, {"flag", "true"}, {"output", "thirdTrue"}});
	Map<String, String> thirdFalse = createRow(new String[][]{{"value", "3"}, {"flag", "false"}, {"output", "thirdFalse"}});
	Table<Integer, String, String> table = createTable(firstTrue, firstFalse, secondTrue, secondFalse, thirdTrue, thirdFalse);
	assertEquals(null, InlineTableUtil.match(table, createValues(new Object[][]{{"value", "1"}})));
	assertEquals(firstTrue, InlineTableUtil.match(table, createValues(new Object[][]{{"value", "1"}, {"flag", "true"}})));
	assertEquals(firstFalse, InlineTableUtil.match(table, createValues(new Object[][]{{"value", "1"}, {"flag", false}})));
	assertEquals(secondTrue, InlineTableUtil.match(table, createValues(new Object[][]{{"value", 2}, {"flag", "true"}})));
	assertEquals(secondFalse, InlineTableUtil.match(table, createValues(new Object[][]{{"value", 2}, {"flag", false}})));
	assertEquals(thirdTrue, InlineTableUtil.match(table, createValues(new Object[][]{{"value", 3d}, {"flag", "true"}})));
	assertEquals(thirdFalse, InlineTableUtil.match(table, createValues(new Object[][]{{"value", 3d}, {"flag", false}})));
}