Clone() 공개 메소드

Creates a clone of the settings.
public Clone ( ) : MongoCollectionSettings
리턴 MongoCollectionSettings
예제 #1
0
        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);
        }
예제 #3
0
        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));
        }
예제 #4
0
        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));
        }