def METHOD_NAME() -> None:
    eth_v4: TStoredSchema = load_yml_case("schemas/eth/ethereum_schema_v4")
    hash_ = utils.generate_version_hash(eth_v4)
    # change content
    eth_v4["tables"]["_dlt_loads"]["write_disposition"] = "append"
    hash2 = utils.generate_version_hash(eth_v4)
    assert hash_ != hash2
    # version and version_hash are excluded from hash computation
    eth_v4["version"] += 1
    assert utils.generate_version_hash(eth_v4) == hash2
    eth_v4["version_hash"] = "xxxx"
    assert utils.generate_version_hash(eth_v4) == hash2
    # changing table order does not impact the hash
    loads_table = eth_v4["tables"].pop("_dlt_loads")
    # insert at the end: _dlt_loads was first originally
    eth_v4["tables"]["_dlt_loads"] = loads_table
    assert utils.generate_version_hash(eth_v4) == hash2
    # changing column order impacts the hash
    col = loads_table["columns"].pop("inserted_at")
    # inserted_at was first, now insert at the end
    loads_table["columns"]["inserted_at"] = col
    assert utils.generate_version_hash(eth_v4) != hash2
    # can compute hash on table with no columns
    del loads_table["columns"]
    assert utils.generate_version_hash(eth_v4) != hash2
    loads_table["columns"] = {}
    assert utils.generate_version_hash(eth_v4) != hash2
    # can compute hash on schema without tables
    del eth_v4["tables"]
    assert utils.generate_version_hash(eth_v4) != hash2