def METHOD_NAME(create_pivot):
    """Test parse pipeline."""
    pipelines = list(Pipeline.from_yaml(_TEST_PIPELINES))
    check.equal(len(pipelines), 2)
    check.equal(pipelines[0].name, "pipeline1")
    check.equal(pipelines[0].description, "Pipeline 1 description")
    check.equal(len(pipelines[0].steps), 5)
    for step in pipelines[0].steps:
        step_type = step.step_type
        check.is_not_none(step.name)
        check.is_not_none(step.comment)
        check.is_not_none(step.params)
        if step_type in ("pivot", "pivot_tee_exec", "pd_accessor"):
            check.is_not_none(step.function)
        if step_type == "pivot":
            check.is_not_none(step.entity)
    pl_repr = repr(pipelines[0])
    check.is_in("Pipeline(name='pipeline1'", pl_repr)
    check.is_in("steps=[PipelineStep(name='get_logons", pl_repr)
    pl_txt = pipelines[0].print_pipeline(df_name="input_df")
    check.equal(pl_txt, _EXPECTED_OUTPUT)
    pl_txt = pipelines[0].print_pipeline(df_name="input_df", comments=False)
    exp_no_comments = "\n".join(
        nc_line
        for nc_line in _EXPECTED_OUTPUT.split("\n")
        if not nc_line.strip().startswith("#")
    )
    check.equal(pl_txt, exp_no_comments)
    pl_single_dict = yaml.safe_load(_TEST_SINGLE_PIPELINE)
    pl_single = Pipeline.parse_pipeline(pl_single_dict)
    check.equal(pl_single.name, "pipeline1")
    check.equal(pl_single.description, "Pipeline 1 description")
    check.equal(len(pl_single.steps), 5)
    # Test to_yaml
    out_yaml = pl_single.to_yaml()
    # The yaml won't be the same since None values will be null
    out_dict = yaml.safe_load(out_yaml)
    # but it should convert into an identical object
    new_pipeline = Pipeline.parse_pipeline(out_dict)
    check.equal(pl_single.name, new_pipeline.name)
    check.equal(pl_single.description, new_pipeline.description)
    for idx, step in enumerate(pl_single.steps):
        check.equal(step, new_pipeline.steps[idx])