public void ClusterHeartbeatSenderState_must_remove_unreachable_member_when_removed()
{
var s1 = _emptyState.AddMember(cc).AddMember(dd).AddMember(ee);
var s2 = s1.HeartbeatRsp(cc).HeartbeatRsp(dd).HeartbeatRsp(ee);
Fd(s2, cc).MarkNodeAsUnavailable();
Fd(s2, ee).MarkNodeAsUnavailable();
var s3 = s2.AddMember(bb).HeartbeatRsp(bb);
s3.ActiveReceivers.ShouldBe(ImmutableHashSet.Create(bb,cc,dd,ee));
var s4 = s3.RemoveMember(cc).RemoveMember(ee);
s4.ActiveReceivers.ShouldBe(ImmutableHashSet.Create(bb,dd));
s4.FailureDetector.IsMonitoring(cc.Address).ShouldBeFalse();
s4.FailureDetector.IsMonitoring(ee.Address).ShouldBeFalse();
}