//abstract class JoinTwoClustersSpec extends MultiNodeSpec(JoinTwoClustersMultiJvmSpec) with MultiNodeClusterSpec with ImplicitSender with BeforeAndAfter {
// import JoinTwoClustersMultiJvmSpec._
//
// override def initialParticipants = 6
//
// after {
// testConductor.enter("after")
// }
//
// val a1Address = node(a1).address
// val b1Address = node(b1).address
// val c1Address = node(c1).address
//
// "Three different clusters (A, B and C)" must {
//
// "be able to 'elect' a single leader after joining (A -> B)" taggedAs LongRunningTest in {
//
// runOn(a1, a2) {
// cluster.join(a1Address)
// }
// runOn(b1, b2) {
// cluster.join(b1Address)
// }
// runOn(c1, c2) {
// cluster.join(c1Address)
// }
//
// awaitUpConvergence(numberOfMembers = 2)
//
// assertLeader(a1, a2)
// assertLeader(b1, b2)
// assertLeader(c1, c2)
//
// runOn(b2) {
// cluster.join(a1Address)
// }
//
// runOn(a1, a2, b1, b2) {
// awaitUpConvergence(numberOfMembers = 4)
// }
//
// assertLeader(a1, a2, b1, b2)
// assertLeader(c1, c2)
//
// }
//
// "be able to 'elect' a single leader after joining (C -> A + B)" taggedAs LongRunningTest in {