public void A_gossip_must_merge_unreachable()
{
var r1 = Reachability.Empty.Unreachable(b1.UniqueAddress, a1.UniqueAddress)
.Unreachable(b1.UniqueAddress, c1.UniqueAddress);
var g1 = new Gossip(ImmutableSortedSet.Create(a1, b1, c1), new GossipOverview(r1));
var r2 = Reachability.Empty.Unreachable(a1.UniqueAddress, d1.UniqueAddress);
var g2 = new Gossip(ImmutableSortedSet.Create(a1, b1, c1, d1), new GossipOverview(r2));
var merged1 = g1.Merge(g2);
XAssert.Equivalent(ImmutableHashSet.Create(a1.UniqueAddress, c1.UniqueAddress, d1.UniqueAddress),
merged1.Overview.Reachability.AllUnreachable);
var merged2 = g2.Merge(g1);
XAssert.Equivalent(merged1.Overview.Reachability.AllUnreachable,
merged2.Overview.Reachability.AllUnreachable
);
}