package io.pcp.parfait.timing; import junit.framework.TestCase; public class StepMeasurementsTest extends TestCase { private static final String PARENT = "floop"; private static final String CHILD = "bloop"; private static final String OTHER_CHILD = "gloop"; public void testNullParent() { StepMeasurements timing = new StepMeasurements(null, PARENT, null); assertNull(timing.getParent()); } public void testParentSettingInConstructor() { StepMeasurements mummy = new StepMeasurements(null, PARENT, null); StepMeasurements timing = new StepMeasurements(mummy, CHILD, null); assertEquals(mummy, timing.getParent()); } public void testBackTraceWithNoParentShowsOnlySelf() { StepMeasurements timing = new StepMeasurements(null, PARENT, null); assertEquals(PARENT, timing.getBackTrace()); } public void testBackTraceWithParentShowsCorrectPath() { StepMeasurements mummy = new StepMeasurements(null, PARENT, null); StepMeasurements timing = new StepMeasurements(mummy, CHILD, null); assertEquals("floop/bloop", timing.getBackTrace()); } public void testBackTraceShowsAction() { StepMeasurements timing = new StepMeasurements(null, PARENT, "scratchButt"); assertEquals("floop:scratchButt", timing.getBackTrace()); } public void testForwardTraceWithNoChildrenShowsOnlySelf() { StepMeasurements timing = new StepMeasurements(null, PARENT, null); assertEquals(PARENT, timing.getForwardTrace()); } public void testForwardTraceWithOneChildShowsCorrectPath() { StepMeasurements timing = new StepMeasurements(null, PARENT, null); new StepMeasurements(timing, CHILD, null); assertEquals("floop/bloop", timing.getForwardTrace()); } public void testForwardTraceWithMultipleChildrenShowsCorrectPath() { StepMeasurements timing = new StepMeasurements(null, PARENT, null); new StepMeasurements(timing, CHILD, null); new StepMeasurements(timing, OTHER_CHILD, null); assertEquals("floop/{bloop|gloop}", timing .getForwardTrace()); } public void testForwardTraceShowsAction() { StepMeasurements timing = new StepMeasurements(null, PARENT, "scratchButt"); assertEquals("floop:scratchButt", timing.getForwardTrace()); } }