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.OperationTimeout = TimeSpan.FromMilliseconds(20);
            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));
        }
Example #2
0
        public void TestAll()
        {
            var settings = new MongoCollectionSettings <BsonDocument>(
                "collection",
                true, // asssignIdOnInsert
                SafeMode.Create(5, TimeSpan.FromSeconds(5)),
                true  // slaveOkd
                );

            Assert.AreEqual("collection", settings.CollectionName);
            Assert.AreEqual(true, settings.AssignIdOnInsert);
            Assert.AreEqual(typeof(BsonDocument), settings.DefaultDocumentType);
            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());
        }
Example #3
0
        public void TestAll()
        {
            var server   = MongoServer.Create();
            var database = server["test"];
            var settings = new MongoCollectionSettings <BsonDocument>(database, "collection")
            {
                AssignIdOnInsert = true,
                SafeMode         = SafeMode.Create(5, TimeSpan.FromSeconds(5)),
                SlaveOk          = true
            };

            Assert.AreEqual("collection", settings.CollectionName);
            Assert.AreEqual(true, settings.AssignIdOnInsert);
            Assert.AreEqual(typeof(BsonDocument), settings.DefaultDocumentType);
            Assert.AreEqual(GuidRepresentation.CSharpLegacy, settings.GuidRepresentation);
            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());
        }
        public void TestGuidRepresentation()
        {
#pragma warning disable 618
            if (BsonDefaults.GuidRepresentationMode == GuidRepresentationMode.V2)
            {
                var settings = new MongoCollectionSettings();
                Assert.Equal(GuidRepresentation.Unspecified, settings.GuidRepresentation);

                var guidRepresentation = GuidRepresentation.PythonLegacy;
                settings.GuidRepresentation = guidRepresentation;
                Assert.Equal(guidRepresentation, settings.GuidRepresentation);

                settings.Freeze();
                Assert.Equal(guidRepresentation, settings.GuidRepresentation);
                Assert.Throws <InvalidOperationException>(() => { settings.GuidRepresentation = guidRepresentation; });
            }
            else
            {
                var settings  = new MongoCollectionSettings();
                var exception = Record.Exception(() => settings.GuidRepresentation);
                exception.Should().BeOfType <InvalidOperationException>();
                exception = Record.Exception(() => { settings.GuidRepresentation = GuidRepresentation.CSharpLegacy; });
                exception.Should().BeOfType <InvalidOperationException>();
            }
#pragma warning restore 618
        }
        public void TestEquals()
        {
            var settings = new MongoCollectionSettings();
            var clone    = settings.Clone();

            Assert.True(clone.Equals(settings));

            settings.Freeze();
            clone.Freeze();
            Assert.True(clone.Equals(settings));

            clone = settings.Clone();
            clone.AssignIdOnInsert = !clone.AssignIdOnInsert;
            Assert.False(clone.Equals(settings));

            clone = settings.Clone();
#pragma warning disable 618
            if (BsonDefaults.GuidRepresentationMode == GuidRepresentationMode.V2)
            {
                clone.GuidRepresentation = GuidRepresentation.PythonLegacy;
                Assert.False(clone.Equals(settings));
            }
#pragma warning restore 618

            clone             = settings.Clone();
            clone.ReadConcern = ReadConcern.Majority;
            Assert.False(clone.Equals(settings));
            clone = settings.Clone();
            clone.ReadPreference = ReadPreference.Secondary;
            Assert.False(clone.Equals(settings));

            clone = settings.Clone();
            clone.WriteConcern = WriteConcern.W2;
            Assert.False(clone.Equals(settings));
        }
Example #6
0
        public void TestEquals()
        {
            var settings = new MongoCollectionSettings();
            var clone    = settings.Clone();

            Assert.True(clone.Equals(settings));

            settings.Freeze();
            clone.Freeze();
            Assert.True(clone.Equals(settings));

            clone = settings.Clone();
            clone.AssignIdOnInsert = !clone.AssignIdOnInsert;
            Assert.False(clone.Equals(settings));

            clone = settings.Clone();
            clone.GuidRepresentation = GuidRepresentation.PythonLegacy;
            Assert.False(clone.Equals(settings));

            clone             = settings.Clone();
            clone.ReadConcern = ReadConcern.Majority;
            Assert.False(clone.Equals(settings));
            clone = settings.Clone();
            clone.ReadPreference = ReadPreference.Secondary;
            Assert.False(clone.Equals(settings));

            clone = settings.Clone();
            clone.WriteConcern = WriteConcern.W2;
            Assert.False(clone.Equals(settings));
        }
Example #7
0
        public void TestDefaultDocumentType()
        {
            var settings = new MongoCollectionSettings <BsonDocument>(_database, "collection");

            Assert.AreEqual(typeof(BsonDocument), settings.DefaultDocumentType);

            settings.Freeze();
            Assert.AreEqual(typeof(BsonDocument), settings.DefaultDocumentType);
        }
Example #8
0
        public void TestCollectionName()
        {
            var settings = new MongoCollectionSettings <BsonDocument>(_database, "collection");

            Assert.AreEqual("collection", settings.CollectionName);

            settings.Freeze();
            Assert.AreEqual("collection", settings.CollectionName);
        }
        public void TestCollectionNameObsolete()
        {
#pragma warning disable 618
            var settings = new MongoCollectionSettings <BsonDocument>(_database, "collection");
            Assert.AreEqual("collection", settings.CollectionName);

            settings.Freeze();
            Assert.AreEqual("collection", settings.CollectionName);
#pragma warning restore
        }
        public void TestDefaultDocumentTypeObsolete()
        {
#pragma warning disable 618
            var settings = new MongoCollectionSettings <BsonDocument>(_database, "collection");
            Assert.AreEqual(typeof(BsonDocument), settings.DefaultDocumentType);

            settings.Freeze();
            Assert.AreEqual(typeof(BsonDocument), settings.DefaultDocumentType);
#pragma warning restore
        }
Example #11
0
        public void TestFeeze()
        {
            var settings = new MongoCollectionSettings();

            Assert.False(settings.IsFrozen);
            var hashCode             = settings.GetHashCode();
            var stringRepresentation = settings.ToString();

            settings.Freeze();
            Assert.True(settings.IsFrozen);
            Assert.Equal(hashCode, settings.GetHashCode());
            Assert.Equal(stringRepresentation, settings.ToString());
        }
Example #12
0
        public void TestSafeMode()
        {
#pragma warning disable 618
            var settings = new MongoCollectionSettings();
            Assert.AreEqual(null, settings.SafeMode);

            var safeMode = SafeMode.W2;
            settings.SafeMode = safeMode;
            Assert.AreEqual(safeMode, settings.SafeMode);

            settings.Freeze();
            Assert.AreEqual(safeMode, settings.SafeMode);
            Assert.Throws <InvalidOperationException>(() => { settings.SafeMode = safeMode; });
#pragma warning restore
        }
Example #13
0
        public void TestAssignIdOnInsert()
        {
            var settings = new MongoCollectionSettings <BsonDocument>(_database, "collection");

            Assert.AreEqual(MongoDefaults.AssignIdOnInsert, settings.AssignIdOnInsert);

            var assignIdOnInsert = !settings.AssignIdOnInsert;

            settings.AssignIdOnInsert = assignIdOnInsert;
            Assert.AreEqual(assignIdOnInsert, settings.AssignIdOnInsert);

            settings.Freeze();
            Assert.AreEqual(assignIdOnInsert, settings.AssignIdOnInsert);
            Assert.Throws <InvalidOperationException>(() => { settings.AssignIdOnInsert = assignIdOnInsert; });
        }
Example #14
0
        public void TestWriteConcern()
        {
            var settings = new MongoCollectionSettings <BsonDocument>(_database, "collection");

            Assert.AreEqual(WriteConcern.Acknowledged, settings.WriteConcern);

            var writeConcern = WriteConcern.W2;

            settings.WriteConcern = writeConcern;
            Assert.AreEqual(writeConcern, settings.WriteConcern);

            settings.Freeze();
            Assert.AreEqual(writeConcern, settings.WriteConcern);
            Assert.Throws <InvalidOperationException>(() => { settings.WriteConcern = writeConcern; });
        }
Example #15
0
        public void TestSlaveOk()
        {
#pragma warning disable 618
            var settings = new MongoCollectionSettings <BsonDocument>(_database, "collection");
            Assert.AreEqual(false, settings.SlaveOk);

            var slaveOk = true;
            settings.SlaveOk = slaveOk;
            Assert.AreEqual(slaveOk, settings.SlaveOk);

            settings.Freeze();
            Assert.AreEqual(slaveOk, settings.SlaveOk);
            Assert.Throws <InvalidOperationException>(() => { settings.SlaveOk = slaveOk; });
#pragma warning restore
        }
Example #16
0
        public void TestSafeMode()
        {
#pragma warning disable 618
            var settings = new MongoCollectionSettings <BsonDocument>(_database, "collection");
            Assert.AreEqual(SafeMode.True, settings.SafeMode);

            var safeMode = SafeMode.W2;
            settings.SafeMode = safeMode;
            Assert.AreEqual(safeMode, settings.SafeMode);

            settings.Freeze();
            Assert.AreEqual(safeMode, settings.SafeMode);
            Assert.Throws <InvalidOperationException>(() => { settings.SafeMode = safeMode; });
#pragma warning restore
        }
Example #17
0
        public void TestReadPreference()
        {
            var settings = new MongoCollectionSettings <BsonDocument>(_database, "collection");

            Assert.AreEqual(ReadPreference.Primary, settings.ReadPreference);

            var readPreference = ReadPreference.Secondary;

            settings.ReadPreference = readPreference;
            Assert.AreEqual(readPreference, settings.ReadPreference);

            settings.Freeze();
            Assert.AreEqual(readPreference, settings.ReadPreference);
            Assert.Throws <InvalidOperationException>(() => { settings.ReadPreference = readPreference; });
        }
Example #18
0
        public void TestGuidRepresentation()
        {
            var settings = new MongoCollectionSettings <BsonDocument>(_database, "collection");

            Assert.AreEqual(MongoDefaults.GuidRepresentation, settings.GuidRepresentation);

            var guidRepresentation = GuidRepresentation.PythonLegacy;

            settings.GuidRepresentation = guidRepresentation;
            Assert.AreEqual(guidRepresentation, settings.GuidRepresentation);

            settings.Freeze();
            Assert.AreEqual(guidRepresentation, settings.GuidRepresentation);
            Assert.Throws <InvalidOperationException>(() => { settings.GuidRepresentation = guidRepresentation; });
        }
Example #19
0
        public void TestAssignIdOnInsert()
        {
            var settings = new MongoCollectionSettings();

            Assert.AreEqual(false, settings.AssignIdOnInsert);

            var assignIdOnInsert = !settings.AssignIdOnInsert;

            settings.AssignIdOnInsert = assignIdOnInsert;
            Assert.AreEqual(assignIdOnInsert, settings.AssignIdOnInsert);

            settings.Freeze();
            Assert.AreEqual(assignIdOnInsert, settings.AssignIdOnInsert);
            Assert.Throws <InvalidOperationException>(() => { settings.AssignIdOnInsert = assignIdOnInsert; });
        }
Example #20
0
        public void TestWriteConcern()
        {
            var settings = new MongoCollectionSettings();

            Assert.AreEqual(null, settings.WriteConcern);

            var writeConcern = WriteConcern.W2;

            settings.WriteConcern = writeConcern;
            Assert.AreEqual(writeConcern, settings.WriteConcern);

            settings.Freeze();
            Assert.AreEqual(writeConcern, settings.WriteConcern);
            Assert.Throws <InvalidOperationException>(() => { settings.WriteConcern = writeConcern; });
        }
Example #21
0
        public void TestReadPreference()
        {
            var settings = new MongoCollectionSettings();

            Assert.AreEqual(null, settings.ReadPreference);

            var readPreference = ReadPreference.Secondary;

            settings.ReadPreference = readPreference;
            Assert.AreEqual(readPreference, settings.ReadPreference);

            settings.Freeze();
            Assert.AreEqual(readPreference, settings.ReadPreference);
            Assert.Throws <InvalidOperationException>(() => { settings.ReadPreference = readPreference; });
        }
Example #22
0
        public void TestGuidRepresentation()
        {
            var settings = new MongoCollectionSettings();

            Assert.AreEqual(GuidRepresentation.Unspecified, settings.GuidRepresentation);

            var guidRepresentation = GuidRepresentation.PythonLegacy;

            settings.GuidRepresentation = guidRepresentation;
            Assert.AreEqual(guidRepresentation, settings.GuidRepresentation);

            settings.Freeze();
            Assert.AreEqual(guidRepresentation, settings.GuidRepresentation);
            Assert.Throws <InvalidOperationException>(() => { settings.GuidRepresentation = guidRepresentation; });
        }
Example #23
0
        public void TestReadConcern()
        {
            var settings = new MongoCollectionSettings();

            Assert.Equal(null, settings.ReadConcern);

            var readConcern = ReadConcern.Majority;

            settings.ReadConcern = readConcern;
            Assert.Equal(readConcern, settings.ReadConcern);

            settings.Freeze();
            Assert.Equal(readConcern, settings.ReadConcern);
            Assert.Throws <InvalidOperationException>(() => { settings.ReadConcern = readConcern; });
        }
Example #24
0
        public void TestFeeze()
        {
            var settings = new MongoCollectionSettings <BsonDocument>(_database, "collection")
            {
                ReadPreference = new ReadPreference(),
                WriteConcern   = new WriteConcern()
            };

            Assert.IsFalse(settings.IsFrozen);
            Assert.IsFalse(settings.ReadPreference.IsFrozen);
            Assert.IsFalse(settings.WriteConcern.IsFrozen);
            var hashCode             = settings.GetHashCode();
            var stringRepresentation = settings.ToString();

            settings.Freeze();
            Assert.IsTrue(settings.IsFrozen);
            Assert.IsTrue(settings.ReadPreference.IsFrozen);
            Assert.IsTrue(settings.WriteConcern.IsFrozen);
            Assert.AreEqual(hashCode, settings.GetHashCode());
            Assert.AreEqual(stringRepresentation, settings.ToString());
        }
Example #25
0
        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));
        }