// Copyright (C) 2003-2009 by Object Mentor, Inc. All rights reserved. // Released under the terms of the CPL Common Public License version 1.0. package fitnesse.slimTables; import org.junit.Test; public class SubsetQueryTableTest extends QueryTableBaseTest { protected String tableType() { return "subset query"; } protected Class<SubsetQueryTable> queryTableClass() { return SubsetQueryTable.class; } @Test public void twoMatchingRowsOutOfOrder() throws Exception { assertQueryResults( "|3|6|\n" + "|2|4|\n", util.ListUtility.list( util.ListUtility.list(util.ListUtility.list("n", "2"), util.ListUtility.list("2n", "4")), util.ListUtility.list(util.ListUtility.list("n", "3"), util.ListUtility.list("2n", "6")) ), "[" + headRow + "[n, 2n], " + "[pass(3), pass(6)], " + "[pass(2), pass(4)]" + "]" ); } @Test public void oneMatchingRowOutOfTwo() throws Exception { assertQueryResults( "|2|4|\n", util.ListUtility.list( util.ListUtility.list(util.ListUtility.list("n", "2"), util.ListUtility.list("2n", "4")), util.ListUtility.list(util.ListUtility.list("n", "3"), util.ListUtility.list("2n", "6")) ), "[" + headRow + "[n, 2n], " + "[pass(2), pass(4)]" + "]" ); } @Test @Override public void oneRowThatFails() throws Exception { assertQueryResults("|2|4|\n", util.ListUtility.list( util.ListUtility.list(util.ListUtility.list("n", "3"), util.ListUtility.list("2n", "5")) ), "[" + headRow + "[n, 2n], " + "[[2] fail(missing), 4]" + "]" ); } @Test @Override public void twoRowsFirstMatchesSecondDoesnt() throws Exception { assertQueryResults( "|3|6|\n" + "|99|99|\n", util.ListUtility.list( util.ListUtility.list(util.ListUtility.list("n", "2"), util.ListUtility.list("2n", "4")), util.ListUtility.list(util.ListUtility.list("n", "3"), util.ListUtility.list("2n", "6")) ), "[" + headRow + "[n, 2n], " + "[pass(3), pass(6)], " + "[[99] fail(missing), 99]" + "]" ); } @Test @Override public void twoRowsSecondMatchesFirstDoesnt() throws Exception { assertQueryResults( "|99|99|\n" + "|2|4|\n", util.ListUtility.list( util.ListUtility.list(util.ListUtility.list("n", "2"), util.ListUtility.list("2n", "4")), util.ListUtility.list(util.ListUtility.list("n", "3"), util.ListUtility.list("2n", "6")) ), "[" + headRow + "[n, 2n], " + "[[99] fail(missing), 99], " + "[pass(2), pass(4)]" + "]" ); } @Test @Override public void fieldInSurplusRowDoesntExist() throws Exception { assertQueryResults( "", util.ListUtility.list( util.ListUtility.list(util.ListUtility.list("n", "3")) ), "[" + headRow + "[n, 2n]" + "]" ); } }