def METHOD_NAME(self):
    self.nodes[LEADER1].start()
    self.simulator.go(config.LEADER_STARTUP_DELAY)
    self.assertEqual(self.nodes[LEADER1].get_state(), 'leader')
    self.nodes[LEADER2].start()
    self.nodes[LEADER2].set_state('leader')
    self.assertEqual(self.nodes[LEADER2].get_state(), 'leader')
    self.nodes[ED1].start()
    self.simulator.go(5)
    self.assertEqual(self.nodes[ED1].get_state(), 'child')
    self.nodes[LEADER1].stop()
    self.nodes[LEADER2].add_allowlist(self.nodes[ED1].get_addr64())
    self.nodes[ED1].add_allowlist(self.nodes[LEADER2].get_addr64())
    self.simulator.go(20)
    self.assertEqual(self.nodes[ED1].get_state(), 'child')
    self.assertEqual(self.nodes[ED1].get_channel(), CHANNEL2)
    self.collect_ipaddrs()
    ipaddrs = self.nodes[ED1].get_addrs()
    for ipaddr in ipaddrs:
        self.assertTrue(self.nodes[LEADER2].ping(ipaddr))