예제 #1
0
        public void constructor_with_read_and_write_bindings_should_initialize_instance()
        {
            var session          = new Mock <ICoreSessionHandle>().Object;
            var mockReadBinding  = new Mock <IReadBinding>();
            var mockWriteBinding = new Mock <IWriteBinding>();

            mockReadBinding.SetupGet(m => m.Session).Returns(session);
            mockWriteBinding.SetupGet(m => m.Session).Returns(session);

            var result = new SplitReadWriteBinding(mockReadBinding.Object, mockWriteBinding.Object);

            result._readBinding().Should().BeSameAs(mockReadBinding.Object);
            result._writeBinding().Should().BeSameAs(mockWriteBinding.Object);
        }
예제 #2
0
        public void constructor_with_cluster_read_preference_and_session_should_initialize_instance()
        {
            var cluster        = new Mock <ICluster>().Object;
            var readPreference = ReadPreference.Secondary;
            var mockSession    = new Mock <ICoreSessionHandle>();
            var forkedSession  = new Mock <ICoreSessionHandle>().Object;

            mockSession.Setup(m => m.Fork()).Returns(forkedSession);

            var result = new SplitReadWriteBinding(cluster, readPreference, mockSession.Object);

            var readBinding = result._readBinding().Should().BeOfType <ReadPreferenceBinding>().Subject;

            readBinding._cluster().Should().BeSameAs(cluster);
            readBinding.ReadPreference.Should().BeSameAs(readPreference);
            readBinding.Session.Should().BeSameAs(mockSession.Object);

            var writeBinding = result._writeBinding().Should().BeOfType <WritableServerBinding>().Subject;

            writeBinding._cluster().Should().BeSameAs(cluster);
            writeBinding.Session.Should().BeSameAs(forkedSession);
        }