@Test
public void testGenerateCombinations_DescendingListSize() {

    List<List<Object>> inputLists = new ArrayList<List<Object>>() {{
        add(Arrays.<Object>asList(1, 2, 3));
        add(Arrays.<Object>asList("bar", "baz"));
        add(Arrays.<Object>asList(2.0));
    }};
    List<List<Object>> permutations = TupleCombinationGenerator.generateCombinations(inputLists);
    Assert.assertEquals(
            "[[1, bar, 2.0], [1, baz, 2.0], [2, bar, 2.0], [2, baz, 2.0], [3, bar, 2.0], [3, baz, 2.0]]",
            permutations.toString()
    );
}