private String getExecutionPlanId(List<StreamSpec> updatedStreamSpecs) {
    String intermediateStreamJson =
        updatedStreamSpecs.stream().map(this::streamSpecToJson).collect(Collectors.joining(","));

    int planId = String.format(PLAN_JSON, intermediateStreamJson).hashCode();

    return String.valueOf(planId);
  }
A test case to verify plan results in different hash in case of different intermediate stream.
Note: the overall JOB PLAN remains the same outside the scope of intermediate streams the sake of these test cases.
samza-core/src/test/java/org/apache/samza/execution/TestLocalJobPlanner.java