Beispiel #1
0
        public void Equals_should_return_false_when_any_fields_are_not_equal(
            [Values("fsync", "journal", "w", "wTimeout")]
            string notEqualFieldName)
        {
            var          subject1 = new WriteConcern(1, TimeSpan.FromSeconds(1), false, false);
            WriteConcern subject2;

            switch (notEqualFieldName)
            {
            case "fsync": subject2 = subject1.With(fsync: true); break;

            case "journal": subject2 = subject1.With(journal: true); break;

            case "w": subject2 = subject1.With(w: 2); break;

            case "wTimeout": subject2 = subject1.With(wTimeout: TimeSpan.FromSeconds(2)); break;

            default: throw new ArgumentException("notEqualFieldName");
            }

            var result1   = subject1.Equals(subject2);
            var result2   = subject1.Equals((object)subject2);
            var hashCode1 = subject1.GetHashCode();
            var hashCode2 = subject2.GetHashCode();

            result1.Should().BeFalse();
            result2.Should().BeFalse();
            hashCode1.Should().NotBe(hashCode2);
        }
Beispiel #2
0
        public void Equals_should_return_false_if_journal_is_not_equal(bool?journal1, bool?journal2)
        {
            var writeConcern1 = new WriteConcern(null, null, null, journal1);
            var writeConcern2 = new WriteConcern(null, null, null, journal2);

            writeConcern1.Equals((WriteConcern)writeConcern2).Should().BeFalse();
            writeConcern1.Equals((object)writeConcern2).Should().BeFalse();
            writeConcern1.GetHashCode().Should().NotBe(writeConcern2.GetHashCode());
        }
Beispiel #3
0
        public void Equals_should_return_false_if_fsync_is_not_equal(bool?fsync1, bool?fsync2)
        {
            var writeConcern1 = new WriteConcern(null, null, fsync1, null);
            var writeConcern2 = new WriteConcern(null, null, fsync2, null);

            writeConcern1.Equals((WriteConcern)writeConcern2).Should().BeFalse();
            writeConcern1.Equals((object)writeConcern2).Should().BeFalse();
            writeConcern1.GetHashCode().Should().NotBe(writeConcern2.GetHashCode());
        }
Beispiel #4
0
        public void Equals_should_return_false_when_other_is_null()
        {
            var subject = new WriteConcern(1, TimeSpan.FromSeconds(1), false, false);

            var result1 = subject.Equals((WriteConcern)null);
            var result2 = subject.Equals((object)null);

            result1.Should().BeFalse();
            result2.Should().BeFalse();
        }
Beispiel #5
0
        public void Equals_should_return_false_if_wTimeout_is_not_equal(int?wTimeout1Seconds, int?wTimeout2Seconds)
        {
            var wTimeout1     = wTimeout1Seconds.HasValue ? (TimeSpan?)TimeSpan.FromSeconds(wTimeout1Seconds.Value) : null;
            var wTimeout2     = wTimeout2Seconds.HasValue ? (TimeSpan?)TimeSpan.FromSeconds(wTimeout2Seconds.Value) : null;
            var writeConcern1 = new WriteConcern(null, wTimeout1, null, null);
            var writeConcern2 = new WriteConcern(null, wTimeout2, null, null);

            writeConcern1.Equals((WriteConcern)writeConcern2).Should().BeFalse();
            writeConcern1.Equals((object)writeConcern2).Should().BeFalse();
            writeConcern1.GetHashCode().Should().NotBe(writeConcern2.GetHashCode());
        }
Beispiel #6
0
        public void Equals_should_return_false_if_w_is_not_equal(int?w1, int?w2)
        {
            var wCount1       = w1.HasValue ? (WriteConcern.WValue)w1.Value : null;
            var wCount2       = w2.HasValue ? (WriteConcern.WValue)w2.Value : null;
            var writeConcern1 = new WriteConcern(wCount1, null, null, null);
            var writeConcern2 = new WriteConcern(wCount2, null, null, null);

            writeConcern1.Equals((WriteConcern)writeConcern2).Should().BeFalse();
            writeConcern1.Equals((object)writeConcern2).Should().BeFalse();
            writeConcern1.GetHashCode().Should().NotBe(writeConcern2.GetHashCode());
        }
Beispiel #7
0
        public void Equals_should_return_true_if_all_fields_are_equal(int?w, int?wTimeoutSeconds, bool?fsync, bool?journal)
        {
            var wCount        = w.HasValue ? (WriteConcern.WValue)w.Value : null;
            var wTimeout      = wTimeoutSeconds.HasValue ? (TimeSpan?)TimeSpan.FromSeconds(wTimeoutSeconds.Value) : null;
            var writeConcern1 = new WriteConcern(wCount, wTimeout, fsync, journal);
            var writeConcern2 = new WriteConcern(wCount, wTimeout, fsync, journal);

            writeConcern1.Equals((WriteConcern)writeConcern2).Should().BeTrue();
            writeConcern1.Equals((object)writeConcern2).Should().BeTrue();
            writeConcern1.GetHashCode().Should().Be(writeConcern2.GetHashCode());
        }
Beispiel #8
0
        public void Equals_should_return_true_when_all_fields_are_equal()
        {
            var subject1 = new WriteConcern(1, TimeSpan.FromSeconds(1), false, false);
            var subject2 = new WriteConcern(1, TimeSpan.FromSeconds(1), false, false);

            var result1   = subject1.Equals(subject2);
            var result2   = subject1.Equals((object)subject2);
            var hashCode1 = subject1.GetHashCode();
            var hashCode2 = subject2.GetHashCode();

            result1.Should().BeTrue();
            result2.Should().BeTrue();
            hashCode1.Should().Be(hashCode2);
        }
Beispiel #9
0
        /// <summary>
        /// Determines whether the specified <see cref="System.Object" /> is equal to this instance.
        /// </summary>
        /// <param name="obj">The <see cref="System.Object" /> to compare with this instance.</param>
        /// <returns>
        ///   <c>true</c> if the specified <see cref="System.Object" /> is equal to this instance; otherwise, <c>false</c>.
        /// </returns>
        public override bool Equals(object obj)
        {
            if (object.ReferenceEquals(obj, null) || GetType() != obj.GetType())
            {
                return(false);
            }
            var rhs = (MongoServerSettings)obj;

            return
                (object.ReferenceEquals(_clusterConfigurator, rhs._clusterConfigurator) &&
                 _connectionMode == rhs._connectionMode &&
                 _connectTimeout == rhs._connectTimeout &&
                 _credentials == rhs._credentials &&
                 _guidRepresentation == rhs._guidRepresentation &&
                 _ipv6 == rhs._ipv6 &&
                 _maxConnectionIdleTime == rhs._maxConnectionIdleTime &&
                 _maxConnectionLifeTime == rhs._maxConnectionLifeTime &&
                 _maxConnectionPoolSize == rhs._maxConnectionPoolSize &&
                 _minConnectionPoolSize == rhs._minConnectionPoolSize &&
                 _operationTimeout == rhs._operationTimeout &&
                 object.Equals(_readEncoding, rhs._readEncoding) &&
                 _readPreference.Equals(rhs._readPreference) &&
                 _replicaSetName == rhs._replicaSetName &&
                 _localThreshold == rhs._localThreshold &&
                 _servers.SequenceEqual(rhs._servers) &&
                 _serverSelectionTimeout == rhs._serverSelectionTimeout &&
                 _socketTimeout == rhs._socketTimeout &&
                 _sslSettings == rhs._sslSettings &&
                 _useSsl == rhs._useSsl &&
                 _verifySslCertificate == rhs._verifySslCertificate &&
                 _waitQueueSize == rhs._waitQueueSize &&
                 _waitQueueTimeout == rhs._waitQueueTimeout &&
                 _writeConcern.Equals(rhs._writeConcern) &&
                 object.Equals(_writeEncoding, rhs._writeEncoding));
        }
Beispiel #10
0
        public void Equals_should_return_false_when_other_is_wrong_type()
        {
            var subject = new WriteConcern(1, TimeSpan.FromSeconds(1), false, false);
            var other   = new object();

            var result = subject.Equals(other);

            result.Should().BeFalse();
        }
        /// <summary>
        /// Determines whether the specified <see cref="System.Object" /> is equal to this instance.
        /// </summary>
        /// <param name="obj">The <see cref="System.Object" /> to compare with this instance.</param>
        /// <returns>
        ///   <c>true</c> if the specified <see cref="System.Object" /> is equal to this instance; otherwise, <c>false</c>.
        /// </returns>
        public override bool Equals(object obj)
        {
            if (object.ReferenceEquals(obj, null) || GetType() != obj.GetType())
            {
                return(false);
            }
            var rhs = (MongoServerSettings)obj;

            return
                (_allowInsecureTls == rhs._allowInsecureTls &&
                 _applicationName == rhs._applicationName &&
                 object.ReferenceEquals(_clusterConfigurator, rhs._clusterConfigurator) &&
                 _compressors.SequenceEqual(rhs._compressors) &&
                 _connectionMode == rhs._connectionMode &&
                 _connectTimeout == rhs._connectTimeout &&
                 _credentials == rhs._credentials &&
                 _guidRepresentation == rhs._guidRepresentation &&
                 _heartbeatInterval == rhs._heartbeatInterval &&
                 _heartbeatTimeout == rhs._heartbeatTimeout &&
                 _ipv6 == rhs._ipv6 &&
                 _maxConnectionIdleTime == rhs._maxConnectionIdleTime &&
                 _maxConnectionLifeTime == rhs._maxConnectionLifeTime &&
                 _maxConnectionPoolSize == rhs._maxConnectionPoolSize &&
                 _minConnectionPoolSize == rhs._minConnectionPoolSize &&
                 _operationTimeout == rhs._operationTimeout &&
                 object.Equals(_readConcern, rhs._readConcern) &&
                 object.Equals(_readEncoding, rhs._readEncoding) &&
                 _readPreference.Equals(rhs._readPreference) &&
                 _replicaSetName == rhs._replicaSetName &&
                 _retryReads == rhs._retryReads &&
                 _retryWrites == rhs._retryWrites &&
                 _localThreshold == rhs._localThreshold &&
                 _scheme == rhs._scheme &&
                 _sdamLogFilename == rhs._sdamLogFilename &&
                 _servers.SequenceEqual(rhs._servers) &&
                 _serverSelectionTimeout == rhs._serverSelectionTimeout &&
                 _socketTimeout == rhs._socketTimeout &&
                 _sslSettings == rhs._sslSettings &&
                 _useTls == rhs._useTls &&
                 _waitQueueSize == rhs._waitQueueSize &&
                 _waitQueueTimeout == rhs._waitQueueTimeout &&
                 _writeConcern.Equals(rhs._writeConcern) &&
                 object.Equals(_writeEncoding, rhs._writeEncoding));
        }