@Test
public void testComplexMap() {

    Map<String, Object> map = new LinkedHashMap<>();
    map.put("date", new Date());
    map.put("string", "string");
    List<Object> list = new ArrayList<>();
    list.add("string-in-list");
    Map<String, Object> mapInList = new LinkedHashMap<>();
    mapInList.put("string-in-map-in-list", "string-in-map-in-list");
    mapInList.put("date-in-map-in-list", new Date());
    list.add(mapInList);
    list.add(new ArrayList<>());
    map.put("list", list);
    FixtureMap fixtureMap = FixtureTemplateWrapper.wrap(map, null, null);
    assertTrue(fixtureMap.get("date") instanceof FixtureValue);
    assertTrue(fixtureMap.get("string") instanceof FixtureValue);
    assertTrue(fixtureMap.get("list") instanceof FixtureList);
    FixtureList fixtureList = (FixtureList) fixtureMap.get("list");
    assertTrue(fixtureList.get(0) instanceof FixtureValue);
    assertTrue(fixtureList.get(1) instanceof FixtureMap);
    assertTrue(fixtureList.get(2) instanceof FixtureList);
    FixtureMap fixtureMapInList = (FixtureMap) fixtureList.get(1);
    assertTrue(fixtureMapInList.get("string-in-map-in-list") instanceof FixtureValue);
    assertTrue(fixtureMapInList.get("date-in-map-in-list") instanceof FixtureValue);
}