public IMongoCollection <TDocument> WithReadPreference(ReadPreference readPreference) { var newSettings = _settings.Clone(); newSettings.ReadPreference = readPreference; return(new MongoCollectionImpl <TDocument>(_collectionNamespace, newSettings, _cluster, _operationExecutor)); }
public void TestAll() { var settings = new MongoCollectionSettings(); settings.CollectionName = "collection"; settings.AssignIdOnInsert = false; settings.SafeMode = SafeMode.Create(5, TimeSpan.FromSeconds(5)); settings.SlaveOk = true; Assert.AreEqual("collection", settings.CollectionName); Assert.AreEqual(false, settings.AssignIdOnInsert); Assert.AreEqual(SafeMode.Create(5, TimeSpan.FromSeconds(5)), settings.SafeMode); Assert.AreEqual(true, settings.SlaveOk); 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()); var clone = settings.Clone(); Assert.IsFalse(clone.IsFrozen); Assert.AreEqual(settings, clone); }
public IMongoCollection <TDocument> GetCollection <TDocument>(string name, MongoCollectionSettings settings) { Ensure.IsNotNullOrEmpty(name, "name"); Ensure.IsNotNull(settings, "settings"); settings = settings.Clone(); settings.ApplyDefaultValues(_settings); return(new MongoCollectionImpl <TDocument>(new CollectionNamespace(_databaseNamespace, name), settings, _cluster, _operationExecutor)); }
public override IMongoCollection <TDocument> GetCollection <TDocument>(string name, MongoCollectionSettings settings) { Ensure.IsNotNullOrEmpty(name, nameof(name)); settings = settings == null ? new MongoCollectionSettings() : settings.Clone(); settings.ApplyDefaultValues(_settings); return(new MongoCollectionImpl <TDocument>(this, new CollectionNamespace(_databaseNamespace, name), settings, _cluster, _operationExecutor)); }
public void TestClone() { // set everything to non default values to test that all settings are cloned var settings = new MongoCollectionSettings { AssignIdOnInsert = !MongoDefaults.AssignIdOnInsert, GuidRepresentation = GuidRepresentation.PythonLegacy, ReadPreference = ReadPreference.Secondary, WriteConcern = WriteConcern.W2 }; var clone = settings.Clone(); Assert.IsTrue(clone.Equals(settings)); }
public void TestDefaults() { var settings = new MongoCollectionSettings(); Assert.AreEqual(null, settings.CollectionName); Assert.AreEqual(true, settings.AssignIdOnInsert); Assert.AreEqual(SafeMode.False, settings.SafeMode); Assert.AreEqual(false, settings.SlaveOk); 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()); var clone = settings.Clone(); Assert.IsFalse(clone.IsFrozen); Assert.AreEqual(settings, clone); }
public void TestEquals() { var settings = new MongoCollectionSettings<BsonDocument>(_database, "collection"); var clone = settings.Clone(); Assert.IsTrue(clone.Equals(settings)); settings.Freeze(); clone.Freeze(); Assert.IsTrue(clone.Equals(settings)); clone = settings.Clone(); clone.AssignIdOnInsert = !clone.AssignIdOnInsert; Assert.IsFalse(clone.Equals(settings)); clone = settings.Clone(); clone.GuidRepresentation = GuidRepresentation.PythonLegacy; Assert.IsFalse(clone.Equals(settings)); clone = settings.Clone(); clone.ReadPreference = ReadPreference.Secondary; Assert.IsFalse(clone.Equals(settings)); #pragma warning disable 618 clone = settings.Clone(); clone.SafeMode = SafeMode.W2; Assert.IsFalse(clone.Equals(settings)); clone = settings.Clone(); clone.SlaveOk = !clone.SlaveOk; Assert.IsFalse(clone.Equals(settings)); #pragma warning restore clone = settings.Clone(); clone.WriteConcern = WriteConcern.W2; Assert.IsFalse(clone.Equals(settings)); }
public void TestEquals() { var settings = new MongoCollectionSettings(); var clone = settings.Clone(); Assert.IsTrue(clone.Equals(settings)); settings.Freeze(); clone.Freeze(); Assert.IsTrue(clone.Equals(settings)); clone = settings.Clone(); clone.AssignIdOnInsert = !clone.AssignIdOnInsert; Assert.IsFalse(clone.Equals(settings)); clone = settings.Clone(); clone.GuidRepresentation = GuidRepresentation.PythonLegacy; Assert.IsFalse(clone.Equals(settings)); clone = settings.Clone(); clone.ReadPreference = ReadPreference.Secondary; Assert.IsFalse(clone.Equals(settings)); clone = settings.Clone(); clone.WriteConcern = WriteConcern.W2; Assert.IsFalse(clone.Equals(settings)); }