@Test
  public void testIdentitySinkNodeMemoryEstimatorWithDop1() throws IllegalPathException {
    TypeProvider typeProvider = new TypeProvider();
    IdentitySinkNode identitySinkNode = initIdentitySinkNode(typeProvider);
    LocalExecutionPlanContext context = createLocalExecutionPlanContext(typeProvider);
    context.setDegreeOfParallelism(1);

    // Validate PipelineMemoryEstimator
    try (Operator root = identitySinkNode.accept(operatorTreeGenerator, context)) {
      PipelineMemoryEstimator rootPipelineMemoryEstimator =
          context.constructPipelineMemoryEstimator(root, null, identitySinkNode, -1);
      assertEquals(
          ConsumeChildrenOneByOnePipelineMemoryEstimator.class,
          rootPipelineMemoryEstimator.getClass());
      assertEquals(
          root.calculateMaxPeekMemoryWithCounter(),
          rootPipelineMemoryEstimator.calculateEstimatedRunningMemorySize());

      List<PipelineMemoryEstimator> childrenPipelineMemoryEstimators =
          rootPipelineMemoryEstimator.getChildren();
      assertEquals(0, childrenPipelineMemoryEstimators.size());
    } catch (Exception e) {
      e.printStackTrace();
      fail();
    }
  }
This test will test dop > 3. Expected result is same as dop = 3.
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/PipelineBuilderTest.java