def METHOD_NAME(test_case: Dict) -> None:
    options = parser.parse_args(test_case["args"])
    try:
        t8n_tool = T8N(options)
        t8n_tool.apply_body()
    except Exception as e:
        raise FatalException(e)
    json_result = t8n_tool.result.to_json()
    with open(test_case["expected"], "r") as f:
        data = json.load(f)
    # with open("temp.json", "w") as f:
    #     json.dump(json_state, f, indent=4)
    if "rejected" in data["result"] and len(data["result"]["rejected"]) != 0:
        assert len(json_result["rejected"]) != 0
        rejected_indices = get_rejected_indices(json_result["rejected"])
        expected_rejected_indices = get_rejected_indices(
            data["result"]["rejected"]
        )
        assert sorted(rejected_indices) == sorted(expected_rejected_indices)
    else:
        assert len(json_result["rejected"]) == 0
    assert t8n_tool.hex_to_root(
        json_result["stateRoot"]
    ) == t8n_tool.hex_to_root(data["result"]["stateRoot"])
    assert t8n_tool.hex_to_root(json_result["txRoot"]) == t8n_tool.hex_to_root(
        data["result"]["txRoot"]
    )
    assert t8n_tool.hex_to_root(
        json_result["receiptsRoot"]
    ) == t8n_tool.hex_to_root(data["result"]["receiptsRoot"])
    assert t8n_tool.Bloom(
        hex_to_bytes(json_result["logsBloom"])
    ) == t8n_tool.Bloom(hex_to_bytes(data["result"]["logsBloom"]))
    assert hex_to_u256(json_result["gasUsed"]) == hex_to_u256(
        data["result"]["gasUsed"]
    )
    assert rlp.encode(t8n_tool.txs.all_txs) == hex_to_bytes(data["txs_rlp"])
    if not t8n_tool.is_after_fork("ethereum.paris"):
        assert hex_to_uint(json_result["currentDifficulty"]) == hex_to_uint(
            data["result"]["currentDifficulty"]
        )
    if t8n_tool.is_after_fork("ethereum.shanghai"):
        assert t8n_tool.hex_to_root(
            json_result["withdrawalsRoot"]
        ) == t8n_tool.hex_to_root(data["result"]["withdrawalsRoot"])
    if "receipts" in data["result"]:
        assert len(json_result["receipts"]) == len(data["result"]["receipts"])
        for t8n_receipt, expected_receipt in zip(
            json_result["receipts"], data["result"]["receipts"]
        ):
            assert t8n_receipt["gasUsed"] == expected_receipt["gasUsed"]
            assert (
                t8n_receipt["transactionHash"]
                == expected_receipt["transactionHash"]
            )