@Test
  void roundTripForkIdBlocks() throws IOException {
    final String configText =
        Resources.toString(Resources.getResource("all_forks.json"), StandardCharsets.UTF_8);
    final ObjectNode genesisNode = JsonUtil.objectNodeFromString(configText);

    final GenesisConfig genesisConfig = fromConfig(genesisNode);

    final ObjectNode output = JsonUtil.objectNodeFromMap(genesisConfig.getConfigOptions().asMap());

    assertThat(JsonUtil.getJson(output, true))
        .isEqualTo(JsonUtil.getJson(genesisNode.get("config"), true));
  }
The intent of this test is to catch encoding errors when a new hard fork is being added and the
config is being inserted in all the places the prior fork was. The intent is that
all_forks.json will also be updated.

<p>This catches a common error in JsonGenesisConfigOptions where internally the names are all
lower ase but 'canonically' they are mixed case, as well as being mixed case almost everywhere
else in the code. Case differences are common in custom genesis files, so historically we have
been case agnostic.
config/src/test/java/org/hyperledger/besu/config/GenesisConfigTest.java