def METHOD_NAME():
    df = DataFrame({"a": ["hello", NA, "world"], "b": ["b_hello", "b_null", "b_world"]})
    step = IfthenelseStep(
        **{
            "name": "ifthenelse",
            "if": {"column": "a", "operator": "matches", "value": "hello"},
            "then": '"hello"',
            "else": {
                "name": "ifthenelse",
                "if": {"column": "a", "operator": "matches", "value": "world"},
                "then": '"world"',
                "else": "b",
            },
            "newColumn": "test",
        }
    )
    result = execute_ifthenelse(step, df)
    # Cannot use assert_dataframes_equals here, because "boolean value of NA" is ambiguous
    assert result["test"].to_list() == ["hello", "b_null", "world"]