Example #1
0
        public void HeartbeatNodeRing_must_pick_specified_number_of_nodes_as_receivers()
        {
            var ring = new HeartbeatNodeRing(cc, _nodes, 3);
            ring.MyReceivers.Value.ShouldBe(ring.Receivers(cc));

            foreach (var node in _nodes)
            {
                var receivers = ring.Receivers(node);
                receivers.Count.ShouldBe(3);
                receivers.Contains(node).ShouldBeFalse();
            }
        }
        public void HeartbeatNodeRing_must_pick_specified_number_of_nodes_plus_unreachable_as_receivers()
        {
            var ring = new HeartbeatNodeRing(cc, _nodes, ImmutableHashSet.Create(aa, dd, ee), 3);
            ring.MyReceivers.Value.Should().BeEquivalentTo(ring.Receivers(cc));

            ring.Receivers(aa).Should().BeEquivalentTo(ImmutableHashSet.Create(bb, cc, dd, ff)); // unreachable ee skipped
            ring.Receivers(bb).Should().BeEquivalentTo(ImmutableHashSet.Create(cc, dd, ee, ff)); // unreachable ee skipped
            ring.Receivers(cc).Should().BeEquivalentTo(ImmutableHashSet.Create(dd, ee, ff, bb)); // unreachable ee skipped
            ring.Receivers(dd).Should().BeEquivalentTo(ImmutableHashSet.Create(ee, ff, aa, bb, cc));
            ring.Receivers(ee).Should().BeEquivalentTo(ImmutableHashSet.Create(ff, aa, bb, cc));
            ring.Receivers(ff).Should().BeEquivalentTo(ImmutableHashSet.Create(aa, bb, cc)); // unreachable dd and ee skipped
        }
        public void HeartbeatNodeRing_must_pick_specified_number_of_nodes_as_receivers()
        {
            var ring = new HeartbeatNodeRing(cc, _nodes, ImmutableHashSet<UniqueAddress>.Empty, 3);
            ring.MyReceivers.Value.Should().BeEquivalentTo(ring.Receivers(cc));

            foreach (var node in _nodes)
            {
                var receivers = ring.Receivers(node);
                receivers.Count.Should().Be(3);
                receivers.Should().NotContain(node);
            }
        }
Example #4
0
        public void HeartbeatNodeRing_must_pick_specified_number_of_nodes_plus_unreachable_as_receivers()
        {
            var ring = new HeartbeatNodeRing(cc, _nodes, ImmutableHashSet.Create(aa, dd, ee), 3);

            ring.MyReceivers.Value.Should().BeEquivalentTo(ring.Receivers(cc));

            ring.Receivers(aa).Should().BeEquivalentTo(ImmutableHashSet.Create(bb, cc, dd, ff)); // unreachable ee skipped
            ring.Receivers(bb).Should().BeEquivalentTo(ImmutableHashSet.Create(cc, dd, ee, ff)); // unreachable ee skipped
            ring.Receivers(cc).Should().BeEquivalentTo(ImmutableHashSet.Create(dd, ee, ff, bb)); // unreachable ee skipped
            ring.Receivers(dd).Should().BeEquivalentTo(ImmutableHashSet.Create(ee, ff, aa, bb, cc));
            ring.Receivers(ee).Should().BeEquivalentTo(ImmutableHashSet.Create(ff, aa, bb, cc));
            ring.Receivers(ff).Should().BeEquivalentTo(ImmutableHashSet.Create(aa, bb, cc)); // unreachable dd and ee skipped
        }
Example #5
0
        public void HeartbeatNodeRing_must_pick_specified_number_of_nodes_as_receivers()
        {
            var ring = new HeartbeatNodeRing(cc, _nodes, ImmutableHashSet <UniqueAddress> .Empty, 3);

            ring.MyReceivers.Value.Should().BeEquivalentTo(ring.Receivers(cc));

            foreach (var node in _nodes)
            {
                var receivers = ring.Receivers(node);
                receivers.Count.Should().Be(3);
                receivers.Should().NotContain(node);
            }
        }
        public void HeartbeatNodeRing_must_pick_specified_number_of_nodes_as_receivers()
        {
            var ring = new HeartbeatNodeRing(cc, _nodes, 3);

            ring.MyReceivers.Value.ShouldBe(ring.Receivers(cc));

            foreach (var node in _nodes)
            {
                var receivers = ring.Receivers(node);
                receivers.Count.ShouldBe(3);
                receivers.Contains(node).ShouldBeFalse();
            }
        }
Example #7
0
        public void HeartbeatNodeRing_must_pick_none_when_alone()
        {
            var ring = new HeartbeatNodeRing(cc, ImmutableHashSet.Create(cc), ImmutableHashSet <UniqueAddress> .Empty, 3);

            ring.MyReceivers.Value.Should().BeEquivalentTo(ImmutableHashSet <UniqueAddress> .Empty);
        }
Example #8
0
 public void HeartbeatNodeRing_must_pick_none_when_alone()
 {
     var ring = new HeartbeatNodeRing(cc, new[] {cc}, 3);
     ring.MyReceivers.Value.ShouldBe(ImmutableHashSet.Create<UniqueAddress>());
 }
        public void HeartbeatNodeRing_must_pick_none_when_alone()
        {
            var ring = new HeartbeatNodeRing(cc, new[] { cc }, 3);

            ring.MyReceivers.Value.ShouldBe(ImmutableHashSet.Create <UniqueAddress>());
        }
 public void HeartbeatNodeRing_must_pick_none_when_alone()
 {
     var ring = new HeartbeatNodeRing(cc, ImmutableHashSet.Create(cc), ImmutableHashSet<UniqueAddress>.Empty, 3);
     ring.MyReceivers.Value.Should().BeEquivalentTo(ImmutableHashSet<UniqueAddress>.Empty);
 }
Example #11
0
        private static void MyReceivers(HeartbeatNodeRing ring)
        {
            var r = new HeartbeatNodeRing(ring.SelfAddress, ring.Nodes, ImmutableHashSet <UniqueAddress> .Empty, ring.MonitoredByNumberOfNodes);

            r.MyReceivers.Value.Count.Should().BeGreaterThan(0);
        }
Example #12
0
 public void Setup()
 {
     _ring = CreateHearbeatNodeRingOfSize(NodesSize);
 }