### Question:
InterProceduralControlFlowDistanceCalculator extends ControlFlowDistanceCalculator { protected static void nonRootDistancePrechecks(MethodCall call,Branch branch){ if (branch == null){ throw new IllegalStateException( "expect getNonRootDistance() to only be called if this goal's branch is not a root branch"); } if (call == null){ throw new NullPointerException("null given MethodCall"); } }  static ControlFlowDistance getDistance( ExecutionResult result, Branch branch, boolean value, String className, String methodName);  }### Answer:
@Test(expected = IllegalStateException.class) public void testPreCheck_nullBranch(){ List<MethodCall> calls = new ArrayList<>(); MethodCall call0 = new MethodCall("ClassA", "method1", 12, 1, 1); call0.branchTrace = Arrays.asList(new Integer[]{1, 2, 10}); call0.trueDistanceTrace = Arrays.asList(new Double[]{1.0, 1.0,0.5}); call0.falseDistanceTrace = Arrays.asList(new Double[]{1.0, 1.0,0.6}); InterProceduralControlFlowDistanceCalculator.nonRootDistancePrechecks(call0,null); }