package nl.hsac.fitnesse.fixture.slim; import org.junit.Before; import org.junit.Test; import java.util.Map; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertSame; import static org.junit.Assert.assertTrue; public class MapFixtureTest { private MapFixture fixture; @Before public void setUp() { fixture = new MapFixture(); } @Test public void nestedNamedByDefault() { assertTrue(fixture.expandsPeriodsInNamesToNestedMaps()); fixture.expandPeriodsInNamesToNestedMaps(true); assertTrue(fixture.expandsPeriodsInNamesToNestedMaps()); Object val = new Object(); fixture.setValueFor(val, "parent.nested"); Object parent = fixture.getCurrentValues().get("parent"); assertTrue(parent instanceof Map); Object nested = ((Map) parent).get("nested"); assertSame(val, nested); } @Test public void nestedNamedCanBeDisabled() { fixture.expandPeriodsInNamesToNestedMaps(false); assertFalse(fixture.expandsPeriodsInNamesToNestedMaps()); Object val = new Object(); fixture.setValueFor(val, "parent.nested"); Map<String, Object> values = fixture.getCurrentValues(); Object parent = values.get("parent"); assertNull(parent); Object parentNested = values.get("parent.nested"); assertSame(val, parentNested); fixture.expandPeriodsInNamesToNestedMaps(true); assertTrue(fixture.expandsPeriodsInNamesToNestedMaps()); } }