@Test
public void multiplePatternTwoLevel3() {

  // GIVEN
  simulateLengths(new Triple<>("a", 3L, 2L), //
      new Triple<>("a[0].b.c", 3L, 2L), //
      new Triple<>("a[1].b.c", 3L, 1L), //
      new Triple<>("a[2].b.c", 3L, 2L) //
  );
  // WHEN
  ColumnPatternContainer patterns =
      colPatternUtil.findColNamesForColNamePattern(env, Arrays.asList("a[*].b.c[*]", "a[*].b.c[*]"));
  Set<List<String>> res = patterns.getColumnPatterns(1L);
  // THEN
  Set<List<String>> expected = new HashSet<>(Arrays.asList( //
      Arrays.asList("a[0].b.c[0]", "a[0].b.c[0]"), //
      Arrays.asList("a[0].b.c[1]", "a[0].b.c[1]"), //
      Arrays.asList("a[1].b.c[0]", "a[1].b.c[0]")));
  Assert.assertEquals(res, expected, "Expected correct final colNames");
}