コード例 #1
0
        public void Constructor_should_initialize_instance()
        {
            var settings            = new ClusterSettings(loadBalanced: true);
            var serverFactory       = Mock.Of <IClusterableServerFactory>();
            var mockEventSubscriber = new Mock <IEventSubscriber>();
            var dnsMonitorFactory   = Mock.Of <IDnsMonitorFactory>();

            var result = new LoadBalancedCluster(settings, serverFactory, mockEventSubscriber.Object, dnsMonitorFactory);

            result._dnsMonitorFactory().Should().BeSameAs(dnsMonitorFactory);
            result._eventSubscriber().Should().BeSameAs(mockEventSubscriber.Object);
            result._state().Value.Should().Be(0); // State.Initial
            AssertTryGetEventHandlerWasCalled <ClusterClosingEvent>(mockEventSubscriber);
            AssertTryGetEventHandlerWasCalled <ClusterClosedEvent>(mockEventSubscriber);
            AssertTryGetEventHandlerWasCalled <ClusterOpeningEvent>(mockEventSubscriber);
            AssertTryGetEventHandlerWasCalled <ClusterOpenedEvent>(mockEventSubscriber);
            AssertTryGetEventHandlerWasCalled <ClusterDescriptionChangedEvent>(mockEventSubscriber);
        }
コード例 #2
0
 public static InterlockedInt32 _state(this LoadBalancedCluster cluster) => (InterlockedInt32)Reflector.GetFieldValue(cluster, nameof(_state));
コード例 #3
0
 public static IClusterableServer _server(this LoadBalancedCluster cluster) => (IClusterableServer)Reflector.GetFieldValue(cluster, nameof(_server));
コード例 #4
0
 public static IEventSubscriber _eventSubscriber(this LoadBalancedCluster cluster) => (IEventSubscriber)Reflector.GetFieldValue(cluster, nameof(_eventSubscriber));
コード例 #5
0
 public static Thread _dnsMonitorThread(this LoadBalancedCluster cluster) => (Thread)Reflector.GetFieldValue(cluster, nameof(_dnsMonitorThread));
コード例 #6
0
 public static IDnsMonitorFactory _dnsMonitorFactory(this LoadBalancedCluster cluster) => (IDnsMonitorFactory)Reflector.GetFieldValue(cluster, nameof(_dnsMonitorFactory));
コード例 #7
0
 public static IClusterableServer InitializeServer(this LoadBalancedCluster cluster, IClusterableServer server) => (IClusterableServer)Reflector.Invoke(cluster, nameof(InitializeServer), server);