static void complete(TestProxy testProxy) { final int magnitude = testProxy.getState().getMagnitude(); TestProxy parent = testProxy.getParent(); TestProxy child = testProxy; while (parent != null) { final List<TestProxy> children = parent.getChildren(); final TestState parentState = parent.getState(); if (parentState instanceof SuiteState) { if (!child.isInProgress() && child.equals(children.get(children.size() - 1))) { ((SuiteState) parentState).setRunning(false); parent.fireStateChanged(); parent.flush(); } ((SuiteState) parentState).updateMagnitude(magnitude); } child = parent; parent = parent.getParent(); } }
@Override public void changeStateOf(final TestProxy testProxy, final ObjectReader reader) { testProxy.setState(TestState.RUNNING_STATE); TestProxy parent = testProxy.getParent(); while (parent != null) { final TestState state = parent.getState(); if (state instanceof SuiteState) { ((SuiteState) state).setRunning(true); } parent = parent.getParent(); } }