Exemplo n.º 1
0
        public void TestSave()
        {
            var server     = LegacyTestConfiguration.Server;
            var database   = LegacyTestConfiguration.Database;
            var collection = LegacyTestConfiguration.GetCollection <Foo>();

            var conventions = new ConventionPack();

            conventions.Add(new NamedIdMemberConvention(new[] { "FooId" }));
            ConventionRegistry.Register("test", conventions, t => t == typeof(Foo));

            BsonClassMap.RegisterClassMap <Foo>();

            collection.RemoveAll();
            for (int i = 0; i < 10; i++)
            {
                var foo = new Foo
                {
                    FooId   = ObjectId.Empty,
                    Name    = string.Format("Foo-{0}", i),
                    Summary = string.Format("Summary for Foo-{0}", i)
                };
                collection.Save(foo);
                var count = collection.Count();
                Assert.AreEqual(i + 1, count);
            }
        }
Exemplo n.º 2
0
        private static bool OneTimeSetup()
        {
            __collection = LegacyTestConfiguration.GetCollection <C>();

            __collection.Drop();
            __collection.Insert(new C {
                E = null
            });
            __collection.Insert(new C {
                E = E.A
            });
            __collection.Insert(new C {
                E = E.B
            });
            __collection.Insert(new C {
                X = null
            });
            __collection.Insert(new C {
                X = 1
            });
            __collection.Insert(new C {
                X = 2
            });

            return(true);
        }
Exemplo n.º 3
0
        public void TestFind()
        {
            var server     = LegacyTestConfiguration.Server;
            var database   = LegacyTestConfiguration.Database;
            var collection = LegacyTestConfiguration.GetCollection <C>();

            collection.RemoveAll();
            var c = new C {
                X = 1
            };

            collection.Insert(c);
            c = new C {
                X = 2
            };
            collection.Insert(c);

            var query = Query.EQ("X", 2);

            foreach (var document in collection.Find(query))
            {
                Assert.AreNotEqual(ObjectId.Empty, document.Id);
                Assert.AreEqual(2, document.X);
            }
        }
Exemplo n.º 4
0
        public void TestLinqCount()
        {
            var collection = LegacyTestConfiguration.GetCollection <Entity>();

            if (collection.Exists())
            {
                collection.Drop();
            }

            for (int i = 0; i < 100; ++i)
            {
                var e = new Entity()
                {
                    Name = "Name_" + i
                };
                collection.Insert(e.GetType(), e, WriteConcern.Acknowledged);
            }

#pragma warning disable 429 // unreachable code
            var query = (from e in collection.AsQueryable <Entity>()
                         where true || e.Name == "Name_22"
                         select e);
#pragma warning restore
            var count = query.Count();

            Assert.Equal(100, count);
        }
Exemplo n.º 5
0
        public CSharp900Tests()
        {
            _collection = LegacyTestConfiguration.GetCollection <B>();

            _collection.Drop();
            _collection.CreateIndex("Value", "SubValues.Value");

            //numeric
            _collection.Insert(new B {
                Id = ObjectId.GenerateNewId(), Value = (byte)1, SubValues = new List <C>()
                {
                    new C(2f), new C(3), new C(4D), new C(5UL)
                }
            });
            _collection.Insert(new B {
                Id = ObjectId.GenerateNewId(), Value = 2f, SubValues = new List <C>()
                {
                    new C(6f), new C(7), new C(8D), new C(9UL)
                }
            });
            //strings
            _collection.Insert(new B {
                Id = ObjectId.GenerateNewId(), Value = "1", SubValues = new List <C>()
                {
                    new C("2"), new C("3"), new C("4"), new C("5")
                }
            });
        }
Exemplo n.º 6
0
 public CSharp801()
 {
     _collection = LegacyTestConfiguration.GetCollection <C>();
     if (_collection.Exists())
     {
         _collection.Drop();
     }
 }
Exemplo n.º 7
0
 public void SetUp()
 {
     _collection = LegacyTestConfiguration.GetCollection <C>();
     if (_collection.Exists())
     {
         _collection.Drop();
     }
 }
Exemplo n.º 8
0
        public void TestEmptyElementNameNotAllowed()
        {
            var collection = LegacyTestConfiguration.GetCollection <BsonDocument>();

            collection.Drop();
            var document = new BsonDocument {
                { "_id", 1 }, { "", 2 }
            };

            Assert.Throws <BsonSerializationException>(() => collection.Insert(document));
        }
Exemplo n.º 9
0
        public C TestEmptyKey(C c, string expected)
        {
            var json = c.ToJson();

            Assert.Equal(expected.Replace("'", "\""), json);

            var collection = LegacyTestConfiguration.GetCollection <C>();

            collection.Drop();
            collection.Insert(c);
            return(collection.FindOne());
        }
Exemplo n.º 10
0
        public void TestAddToSetEach()
        {
            var server     = LegacyTestConfiguration.Server;
            var database   = LegacyTestConfiguration.Database;
            var collection = LegacyTestConfiguration.GetCollection <C>();

            collection.RemoveAll();
            var c = new C {
                InnerObjects = new List <D>()
            };

            collection.Insert(c);
            var id = c.Id;

            var query  = Query.EQ("_id", id);
            var update = Update.AddToSet("InnerObjects", 1);

            collection.Update(query, update);
            var d1 = new D {
                X = 1
            };

            update = Update.AddToSetWrapped("InnerObjects", d1);
            collection.Update(query, update);

            var d2 = new D {
                X = 2
            };
            var d3 = new D {
                X = 3
            };

            update = Update.AddToSetEachWrapped("InnerObjects", d1, d2, d3);
            collection.Update(query, update);

            var    document = collection.FindOneAs <BsonDocument>();
            var    json     = document.ToJson();
            string expected;

            if (server.BuildInfo.Version >= new Version(2, 6, 0))
            {
                expected = "{ '_id' : ObjectId('#ID'), 'InnerObjects' : [1, { 'X' : 1 }, { 'X' : 2 }, { 'X' : 3 }] }";
            }
            else
            {
                // prior to version 2.5.2 the server would reorder the elements when Update was used
                expected = "{ 'InnerObjects' : [1, { 'X' : 1 }, { 'X' : 2 }, { 'X' : 3 }], '_id' : ObjectId('#ID') }";
            }
            expected = expected.Replace("#ID", id.ToString());
            expected = expected.Replace("'", "\"");
            Assert.AreEqual(expected, json);
        }
Exemplo n.º 11
0
        public void TestAssignIdWorksWithInterface()
        {
            var collection = LegacyTestConfiguration.GetCollection <IPerson>();

            collection.Drop();

            IPerson person = new Person {
                Name = "Jack"
            };

            collection.Insert(person);
            Assert.NotEqual(ObjectId.Empty, ((Person)person).Id);
        }
Exemplo n.º 12
0
        public void TestEmptyElementNameIsAllowed()
        {
            var collection = LegacyTestConfiguration.GetCollection <BsonDocument>();

            collection.Drop();
            var document = new BsonDocument {
                { "_id", 1 }, { "", 2 }
            };

            collection.Insert(document);
            var r = collection.FindOne(Query.EQ("_id", document["_id"]));

            Assert.Equal(2, r[""]);
        }
Exemplo n.º 13
0
        public void Setup()
        {
            _collection = LegacyTestConfiguration.GetCollection <B>();

            _collection.Drop();
            _collection.Insert(new B {
                Id = ObjectId.GenerateNewId(), b = 1
            });
            _collection.Insert(new C {
                Id = ObjectId.GenerateNewId(), b = 2, c = 2
            });
            _collection.Insert(new D {
                Id = ObjectId.GenerateNewId(), b = 3, c = 3, d = 3
            });
        }
Exemplo n.º 14
0
        private static bool OneTimeSetup()
        {
            __collection = LegacyTestConfiguration.GetCollection <B>();

            __collection.Drop();
            __collection.Insert(new B {
                Id = ObjectId.GenerateNewId(), b = 1
            });
            __collection.Insert(new C {
                Id = ObjectId.GenerateNewId(), b = 2, c = 2
            });
            __collection.Insert(new D {
                Id = ObjectId.GenerateNewId(), b = 3, c = 3, d = 3
            });

            return(true);
        }
Exemplo n.º 15
0
 public void SetUp()
 {
     _collection = LegacyTestConfiguration.GetCollection <BsonDocument>();
     if (_collection.Exists())
     {
         _collection.Drop();
     }
     _collection.Insert(new BsonDocument {
         { "x", 1 }
     });
     _collection.Insert(new BsonDocument {
         { "x", 2 }, { "Length", BsonNull.Value }
     });
     _collection.Insert(new BsonDocument {
         { "x", 3 }, { "Length", 123 }
     });
 }
Exemplo n.º 16
0
        public void TestDeserializationOfTwoBs()
        {
            var server     = LegacyTestConfiguration.Server;
            var database   = LegacyTestConfiguration.Database;
            var collection = LegacyTestConfiguration.GetCollection <A>();

            collection.RemoveAll();
            var b1 = new B {
                PA = 1, PB = 2
            };
            var b2 = new B {
                PA = 3, PB = 4
            };

            collection.Insert <A>(b1);
            collection.Insert <A>(b2);

            collection.FindAll().ToList();
        }
Exemplo n.º 17
0
        public void TestSaveClass()
        {
            var server     = LegacyTestConfiguration.Server;
            var database   = LegacyTestConfiguration.Database;
            var collection = LegacyTestConfiguration.GetCollection <C>();

            var document = new C {
                Id = -1, P = "x"
            };

            collection.RemoveAll();
            collection.Insert(document);

            var fetched = collection.FindOne();

            Assert.IsType <C>(fetched);
            Assert.Equal(-1, fetched.Id);
            Assert.Equal("x", fetched.P);
        }
Exemplo n.º 18
0
        public void TestAddToSetEach()
        {
            var server     = LegacyTestConfiguration.Server;
            var database   = LegacyTestConfiguration.Database;
            var collection = LegacyTestConfiguration.GetCollection <C>();

            collection.RemoveAll();
            var c = new C {
                InnerObjects = new List <D>()
            };

            collection.Insert(c);
            var id = c.Id;

            var query  = Query.EQ("_id", id);
            var update = Update.AddToSet("InnerObjects", 1);

            collection.Update(query, update);
            var d1 = new D {
                X = 1
            };

            update = Update.AddToSetWrapped("InnerObjects", d1);
            collection.Update(query, update);

            var d2 = new D {
                X = 2
            };
            var d3 = new D {
                X = 3
            };

            update = Update.AddToSetEachWrapped("InnerObjects", d1, d2, d3);
            collection.Update(query, update);

            var document = collection.FindOneAs <BsonDocument>();
            var json     = document.ToJson();
            var expected = "{ '_id' : ObjectId('#ID'), 'InnerObjects' : [1, { 'X' : 1 }, { 'X' : 2 }, { 'X' : 3 }] }";

            expected = expected.Replace("#ID", id.ToString());
            expected = expected.Replace("'", "\"");
            Assert.Equal(expected, json);
        }
Exemplo n.º 19
0
        public void TestLinqValueQuery()
        {
            var collection = LegacyTestConfiguration.GetCollection <C>();

            collection.Drop();
            collection.Insert(new C {
                Id = 1, Value = null
            });
            collection.Insert(new C {
                Id = 2, Value = 2
            });

            var results = collection.AsQueryable <C>().Where(c => c.Value == null).ToList();

            Assert.Equal(1, results.Count);
            Assert.Equal(1, results[0].Id);

            results = collection.AsQueryable <C>().Where(c => c.Value == 2).ToList();
            Assert.Equal(1, results.Count);
            Assert.Equal(2, results[0].Id);
        }
Exemplo n.º 20
0
        public void Setup()
        {
            _collection = LegacyTestConfiguration.GetCollection <B>();

            _collection.Drop();
            _collection.CreateIndex(new IndexKeysBuilder().Ascending("a", "b"), IndexOptions.SetName("i"));
            _collection.CreateIndex(new IndexKeysBuilder().Ascending("a", "b"), IndexOptions.SetName("i"));

            _collection.Insert(new B {
                Id = ObjectId.GenerateNewId(), a = 1, b = 10, c = 100
            });
            _collection.Insert(new B {
                Id = ObjectId.GenerateNewId(), a = 2, b = 20, c = 200
            });
            _collection.Insert(new B {
                Id = ObjectId.GenerateNewId(), a = 3, b = 30, c = 300
            });
            _collection.Insert(new B {
                Id = ObjectId.GenerateNewId(), a = 4, b = 40, c = 400
            });
        }
Exemplo n.º 21
0
        public void TestLinqDocumentQuery()
        {
            var collection = LegacyTestConfiguration.GetCollection <C>();

            collection.Drop();
            collection.Insert(new C {
                Id = 1, Document = null
            });
            collection.Insert(new C {
                Id = 2, Document = new BsonDocument("x", 2)
            });

            var results = collection.AsQueryable <C>().Where(c => c.Document == null).ToList();

            Assert.Equal(1, results.Count);
            Assert.Equal(1, results[0].Id);

            results = collection.AsQueryable <C>().Where(c => c.Document["x"] == 2).ToList();
            Assert.Equal(1, results.Count);
            Assert.Equal(2, results[0].Id);
        }
Exemplo n.º 22
0
        private static bool OneTimeSetup()
        {
            __collection = LegacyTestConfiguration.GetCollection <C>();

            var de = new Dictionary <string, int>();
            var dx = new Dictionary <string, int>()
            {
                { "x", 1 }
            };
            var dy = new Dictionary <string, int>()
            {
                { "y", 1 }
            };

            var he = new Hashtable();
            var hx = new Hashtable {
                { "x", 1 }
            };
            var hy = new Hashtable {
                { "y", 1 }
            };

            __collection.Drop();
            __collection.Insert(new C {
                D = null, E = null, F = null, H = null, I = null, J = null
            });
            __collection.Insert(new C {
                D = de, E = de, F = de, H = he, I = he, J = he
            });
            __collection.Insert(new C {
                D = dx, E = dx, F = dx, H = hx, I = hx, J = hx
            });
            __collection.Insert(new C {
                D = dy, E = dy, F = dy, H = hy, I = hy, J = hy
            });

            return(true);
        }
Exemplo n.º 23
0
        public void TestLinqArrayQuery()
        {
            var collection = LegacyTestConfiguration.GetCollection <C>();

            collection.Drop();
            collection.Insert(new C {
                Id = 1, Array = null
            });
            collection.Insert(new C {
                Id = 2, Array = new BsonArray {
                    2
                }
            });

            var results = collection.AsQueryable <C>().Where(c => c.Array == null).ToList();

            Assert.Equal(1, results.Count);
            Assert.Equal(1, results[0].Id);

            results = collection.AsQueryable <C>().Where(c => c.Array[0] == 2).ToList();
            Assert.Equal(1, results.Count);
            Assert.Equal(2, results[0].Id);
        }
Exemplo n.º 24
0
        public void TestLinqObjectIdQuery()
        {
            var collection = LegacyTestConfiguration.GetCollection <C>();

            collection.Drop();
            var id = ObjectId.GenerateNewId();

            collection.Insert(new C {
                Id = 1, ObjectId = null
            });
            collection.Insert(new C {
                Id = 2, ObjectId = id
            });

            var results = collection.AsQueryable <C>().Where(c => c.ObjectId == null).ToList();

            Assert.Equal(1, results.Count);
            Assert.Equal(1, results[0].Id);

            results = collection.AsQueryable <C>().Where(c => c.ObjectId == id).ToList();
            Assert.Equal(1, results.Count);
            Assert.Equal(2, results[0].Id);
        }
Exemplo n.º 25
0
        public void Setup()
        {
            _collection = LegacyTestConfiguration.GetCollection <C>();

            _collection.Drop();
            _collection.Insert(new C {
                E = null
            });
            _collection.Insert(new C {
                E = E.A
            });
            _collection.Insert(new C {
                E = E.B
            });
            _collection.Insert(new C {
                X = null
            });
            _collection.Insert(new C {
                X = 1
            });
            _collection.Insert(new C {
                X = 2
            });
        }
Exemplo n.º 26
0
 public CSharp378Tests()
 {
     _database   = LegacyTestConfiguration.Database;
     _collection = LegacyTestConfiguration.GetCollection <C>();
 }
Exemplo n.º 27
0
 public void TestFixtureSetup()
 {
     _database   = LegacyTestConfiguration.Database;
     _collection = LegacyTestConfiguration.GetCollection <C>();
 }
Exemplo n.º 28
0
 public void OneTimeSetUp()
 {
     _collection = LegacyTestConfiguration.GetCollection <C>();
 }
Exemplo n.º 29
0
 public SkipAndTakeTests()
 {
     _collection = LegacyTestConfiguration.GetCollection <C>();
 }
 public MagicDiscriminatorTests()
 {
     _collection = LegacyTestConfiguration.GetCollection <A>();
 }