public void A_gossip_must_merge_members_by_removing_removed_members()
{
// c3 removed
var r1 = Reachability.Empty.Unreachable(b1.UniqueAddress, a1.UniqueAddress);
var g1 = new Gossip(ImmutableSortedSet.Create(a1, b1), new GossipOverview(r1));
var r2 = r1.Unreachable(b1.UniqueAddress, c3.UniqueAddress);
var g2 = new Gossip(ImmutableSortedSet.Create(a1, b1, c3), new GossipOverview(r2));
var merged1 = g1.Merge(g2);
Assert.Equal(ImmutableHashSet.Create(a1, b1), merged1.Members);
Assert.Equal(ImmutableHashSet.Create(a1.UniqueAddress), merged1.Overview.Reachability.AllUnreachable);
var merged2 = g2.Merge(g1);
Assert.Equal(merged2.Overview.Reachability.AllUnreachable, merged1.Overview.Reachability.AllUnreachable);
Assert.Equal(merged1.Members, merged2.Members);
}