@Test
public void fullOuterJoinFootballSoccerOnPlayDateTimeAllTimeRevenue() {

  Table table1 = createFOOTBALLSCHEDULEDateTime();
  Table table2 = createSOCCERSCHEDULEDateTime();
  Table joined = table1.joinOn("AllTimeRevenue").fullOuter(true, table2);
  assertEquals(10, joined.columnCount());
  assertEquals(5, joined.rowCount());
  assertEquals(5, joined.column("TeamName").size());
  assertEquals(1, joined.column("TeamName").countMissing());
  assertEquals(5, joined.column("PlayDateTime").size());
  assertEquals(1, joined.column("PlayDateTime").countMissing());
  assertEquals(5, joined.column("Location").size());
  assertEquals(1, joined.column("Location").countMissing());
  assertEquals(5, joined.column("HomeGame").size());
  assertEquals(1, joined.column("HomeGame").countMissing());
  assertEquals(5, joined.column("SeasonRevenue").size());
  assertEquals(1, joined.column("SeasonRevenue").countMissing());
  assertEquals(5, joined.column("AllTimeRevenue").size());
  assertEquals(0, joined.column("AllTimeRevenue").countMissing());
  assertEquals(5, joined.column("Mascot").size());
  assertEquals(1, joined.column("Mascot").countMissing());
  assertEquals(5, joined.column("T2.PlayDateTime").size());
  assertEquals(1, joined.column("T2.PlayDateTime").countMissing());
  assertEquals(5, joined.column("Place").size());
  assertEquals(1, joined.column("Place").countMissing());
  assertEquals(5, joined.column("T2.SeasonRevenue").size());
  assertEquals(1, joined.column("T2.SeasonRevenue").countMissing());
}