public void TestEquals() { var settings = new MongoClientSettings(); var clone = settings.Clone(); Assert.IsTrue(clone.Equals(settings)); clone = settings.Clone(); clone.ConnectionMode = ConnectionMode.Direct; Assert.IsFalse(clone.Equals(settings)); clone = settings.Clone(); clone.ConnectTimeout = new TimeSpan(1, 2, 3); Assert.IsFalse(clone.Equals(settings)); clone = settings.Clone(); clone.CredentialsStore = new MongoCredentialsStore(); clone.CredentialsStore.AddCredentials("db2", new MongoCredentials("user2", "password2")); Assert.IsFalse(clone.Equals(settings)); clone = settings.Clone(); clone.DefaultCredentials = new MongoCredentials("user2", "password2"); Assert.IsFalse(clone.Equals(settings)); clone = settings.Clone(); clone.GuidRepresentation = GuidRepresentation.PythonLegacy; Assert.IsFalse(clone.Equals(settings)); clone = settings.Clone(); clone.IPv6 = !settings.IPv6; Assert.IsFalse(clone.Equals(settings)); clone = settings.Clone(); clone.MaxConnectionIdleTime = new TimeSpan(1, 2, 3); Assert.IsFalse(clone.Equals(settings)); clone = settings.Clone(); clone.MaxConnectionLifeTime = new TimeSpan(1, 2, 3); Assert.IsFalse(clone.Equals(settings)); clone = settings.Clone(); clone.MaxConnectionPoolSize = settings.MaxConnectionPoolSize + 1; Assert.IsFalse(clone.Equals(settings)); clone = settings.Clone(); clone.MinConnectionPoolSize = settings.MinConnectionPoolSize + 1; Assert.IsFalse(clone.Equals(settings)); clone = settings.Clone(); clone.ReadPreference = ReadPreference.Secondary; Assert.IsFalse(clone.Equals(settings)); clone = settings.Clone(); clone.ReplicaSetName = "abc"; Assert.IsFalse(clone.Equals(settings)); clone = settings.Clone(); clone.SecondaryAcceptableLatency = new TimeSpan(1, 2, 3); Assert.IsFalse(clone.Equals(settings)); clone = settings.Clone(); clone.Server = new MongoServerAddress("someotherhost"); Assert.IsFalse(clone.Equals(settings)); clone = settings.Clone(); clone.SocketTimeout = new TimeSpan(1, 2, 3); Assert.IsFalse(clone.Equals(settings)); clone = settings.Clone(); clone.UseSsl = !settings.UseSsl; Assert.IsFalse(clone.Equals(settings)); clone = settings.Clone(); clone.VerifySslCertificate = !settings.VerifySslCertificate; Assert.IsFalse(clone.Equals(settings)); clone = settings.Clone(); clone.WaitQueueSize = settings.WaitQueueSize + 1; Assert.IsFalse(clone.Equals(settings)); clone = settings.Clone(); clone.WaitQueueTimeout = new TimeSpan(1, 2, 3); Assert.IsFalse(clone.Equals(settings)); clone = settings.Clone(); clone.WriteConcern = WriteConcern.W2; Assert.IsFalse(clone.Equals(settings)); }