async def METHOD_NAME(
    blockchain: Blockchain,
    block: FullBlock,
    expected_result: List[AddBlockResult],
    skip_prevalidation: Optional[bool] = None,
) -> None:
    try:
        if skip_prevalidation is not None:
            await _validate_and_add_block(blockchain, block, skip_prevalidation=skip_prevalidation)
        else:
            await _validate_and_add_block(blockchain, block)
    except Exception as e:
        assert isinstance(e, AssertionError)
        assert "Block was not added" in e.args[0]
        expected_list: List[str] = [f"Block was not added: {res}" for res in expected_result]
        if e.args[0] not in expected_list:
            raise AssertionError(f"{e.args[0].split('Block was not added: ')[1]} not in {expected_result}")