public void TestAll()
{
var settings = new MongoServerSettings();
settings.ConnectionMode = ConnectionMode.ReplicaSet;
settings.ConnectTimeout = TimeSpan.FromSeconds(1);
settings.DefaultCredentials = MongoCredentials.Create("username", "password");
settings.GuidRepresentation = GuidRepresentation.CSharpLegacy;
settings.IPv6 = true;
settings.MaxConnectionIdleTime = TimeSpan.FromSeconds(2);
settings.MaxConnectionLifeTime = TimeSpan.FromSeconds(3);
settings.MaxConnectionPoolSize = 99;
settings.MinConnectionPoolSize = 11;
settings.ReadPreference = ReadPreference.Primary;
settings.ReplicaSetName = "replicaname";
settings.SafeMode = SafeMode.Create(5, TimeSpan.FromSeconds(4));
settings.Server = new MongoServerAddress("server");
settings.SocketTimeout = TimeSpan.FromSeconds(5);
settings.UseSsl = true;
settings.WaitQueueSize = 55;
settings.WaitQueueTimeout = TimeSpan.FromSeconds(6);
Assert.AreEqual(ConnectionMode.ReplicaSet, settings.ConnectionMode);
Assert.AreEqual(TimeSpan.FromSeconds(1), settings.ConnectTimeout);
Assert.AreEqual(MongoCredentials.Create("username", "password"), settings.DefaultCredentials);
Assert.AreEqual(GuidRepresentation.CSharpLegacy, settings.GuidRepresentation);
Assert.AreEqual(true, settings.IPv6);
Assert.AreEqual(TimeSpan.FromSeconds(2), settings.MaxConnectionIdleTime);
Assert.AreEqual(TimeSpan.FromSeconds(3), settings.MaxConnectionLifeTime);
Assert.AreEqual(99, settings.MaxConnectionPoolSize);
Assert.AreEqual(11, settings.MinConnectionPoolSize);
Assert.AreEqual(ReadPreference.Primary, settings.ReadPreference);
Assert.AreEqual("replicaname", settings.ReplicaSetName);
Assert.AreEqual(SafeMode.Create(5, TimeSpan.FromSeconds(4)), settings.SafeMode);
Assert.AreEqual(new MongoServerAddress("server"), settings.Server);
Assert.IsTrue((new[] { new MongoServerAddress("server") }).SequenceEqual(settings.Servers));
Assert.AreEqual(TimeSpan.FromSeconds(5), settings.SocketTimeout);
Assert.AreEqual(true, settings.UseSsl);
Assert.AreEqual(55, settings.WaitQueueSize);
Assert.AreEqual(TimeSpan.FromSeconds(6), settings.WaitQueueTimeout);
Assert.IsFalse(settings.IsFrozen);
var hashCode = settings.GetHashCode();
var stringRepresentation = settings.ToString();
Assert.AreEqual(settings, settings);
settings.Freeze();
Assert.IsTrue(settings.IsFrozen);
Assert.AreEqual(hashCode, settings.GetHashCode());
Assert.AreEqual(stringRepresentation, settings.ToString());
}