public void TestCStringId()
        {
            _collection.RemoveAll();

            var document = new CStringId {
                Id = null, A = 1
            };

            Assert.Throws <InvalidOperationException>(() => _collection.Save(document)); // Id is null

            document = new CStringId {
                Id = "123", A = 1
            };
            _collection.Save(document);
            Assert.AreEqual(1, _collection.Count());

            document = _collection.FindOneAs <CStringId>();
            Assert.AreEqual("123", document.Id);
            Assert.AreEqual(1, document.A);

            document.A = 2;
            _collection.Save(document);
            Assert.AreEqual(1, _collection.Count());

            document = _collection.FindOneAs <CStringId>();
            Assert.AreEqual("123", document.Id);
            Assert.AreEqual(2, document.A);
        }
        public void TestCStringId()
        {
            collection.RemoveAll();

            var document = new CStringId {
                A = 1
            };

            Assert.Throws <InvalidOperationException>(() => collection.Save(document)); // Id is null

            var id = "123";

            document.Id = id;
            collection.Save(document);
            Assert.AreEqual(id, document.Id);
            Assert.AreEqual(1, collection.Count());

            document.A = 2;
            collection.Save(document);
            Assert.AreEqual(id, document.Id);
            Assert.AreEqual(1, collection.Count());

            document = collection.FindOneAs <CStringId>();
            Assert.AreEqual(id, document.Id);
            Assert.AreEqual(2, document.A);
        }
        public void TestCStringId() {
            collection.RemoveAll();

            var document = new CStringId { Id = null, A = 1 };
            Assert.Throws<InvalidOperationException>(() => collection.Save(document)); // Id is null

            document = new CStringId { Id = "123", A = 1 };
            collection.Save(document);
            Assert.AreEqual(1, collection.Count());

            document = collection.FindOneAs<CStringId>();
            Assert.AreEqual("123", document.Id);
            Assert.AreEqual(1, document.A);

            document.A = 2;
            collection.Save(document);
            Assert.AreEqual(1, collection.Count());

            document = collection.FindOneAs<CStringId>();
            Assert.AreEqual("123", document.Id);
            Assert.AreEqual(2, document.A);
        }