def METHOD_NAME(self):
    if not Ping.host_is_reachable(self.spin4Host):
        raise unittest.SkipTest(self.spin4Host + " appears to be down")
    trans = transceiver.create_transceiver_from_hostname(self.spin4Host, 5)
    try:
        trans.ensure_board_is_ready()
    except (SpinnmanIOException):
        self.skipTest("Skipping as getting Job failed")
    machine = trans.get_machine_details()
    FecDataWriter.mock().set_machine(machine)
    folder = "spinn4"
    self._remove_old_json(folder)
    filename = write_json_machine(folder, True)
    self.json_compare(filename, "spinn4.json")
    # Create a machine with Exception
    chip = machine.get_chip_at(1, 1)
    chip._sdram = chip._sdram - 100
    chip._router._n_available_multicast_entries -= 10
    chip = machine.get_chip_at(1, 2)
    chip._sdram = chip._sdram - 101
    folder = "spinn4_fiddle"
    self._remove_old_json(folder)
    filename = write_json_machine(folder, True)
    self.json_compare(filename, "spinn4_fiddle.json")
    trans.close()