public void ValueTypeSubEntity()
        {
            var dbSet = new MongoDbBucketSet <EntityGroup, int>(new BucketSetOptions
            {
                BucketSize = 2
            });

            dbSet.SetConnection(TestConfiguration.GetConnection());

            dbSet.AddRange(new EntityGroup
            {
                Name = "Group1"
            }, new[] { 2, 4, 6, 8, 10 });
            dbSet.SaveChanges();

            Assert.AreEqual(3, dbSet.Count());

            var results = dbSet.WithGroup(new EntityGroup
            {
                Name = "Group1"
            }).ToArray();

            Assert.AreEqual(5, results.Length);
            Assert.AreEqual(2, results[0]);
            Assert.AreEqual(4, results[1]);
            Assert.AreEqual(6, results[2]);
            Assert.AreEqual(8, results[3]);
            Assert.AreEqual(10, results[4]);
        }
Beispiel #2
0
        public void ContinuousSubEntityAccessAcrossBuckets()
        {
            var connection = TestConfiguration.GetConnection();
            var context    = new MongoDbContext(connection);
            var dbSet      = new MongoDbBucketSet <EntityGroup, SubEntityClass>(context, new BucketSetOptions
            {
                BucketSize         = 2,
                EntityTimeProperty = "Date"
            });

            dbSet.AddRange(new EntityGroup
            {
                Name = "Group1"
            }, new[] {
                new SubEntityClass
                {
                    Label = "Entry1",
                    Date  = new DateTime(2020, 1, 1)
                },
                new SubEntityClass
                {
                    Label = "Entry2",
                    Date  = new DateTime(2020, 1, 2)
                },
                new SubEntityClass
                {
                    Label = "Entry3",
                    Date  = new DateTime(2020, 1, 3)
                },
                new SubEntityClass
                {
                    Label = "Entry4",
                    Date  = new DateTime(2020, 1, 4)
                },
                new SubEntityClass
                {
                    Label = "Entry5",
                    Date  = new DateTime(2020, 1, 5)
                }
            });

            context.SaveChanges();

            Assert.AreEqual(3, dbSet.Count());

            var results = dbSet.WithGroup(new EntityGroup
            {
                Name = "Group1"
            }).ToArray();

            Assert.AreEqual(5, results.Length);
            Assert.AreEqual("Entry1", results[0].Label);
            Assert.AreEqual("Entry2", results[1].Label);
            Assert.AreEqual("Entry3", results[2].Label);
            Assert.AreEqual("Entry4", results[3].Label);
            Assert.AreEqual("Entry5", results[4].Label);
        }
        public void ContinuousSubEntityAccessAcrossBuckets()
        {
            var dbSet = new MongoDbBucketSet <EntityGroup, SubEntityClass>(new BucketSetOptions
            {
                BucketSize = 2
            });

            dbSet.SetConnection(TestConfiguration.GetConnection());

            dbSet.AddRange(new EntityGroup
            {
                Name = "Group1"
            }, new[] {
                new SubEntityClass
                {
                    Label = "Entry1"
                },
                new SubEntityClass
                {
                    Label = "Entry2"
                },
                new SubEntityClass
                {
                    Label = "Entry3"
                },
                new SubEntityClass
                {
                    Label = "Entry4"
                },
                new SubEntityClass
                {
                    Label = "Entry5"
                }
            });
            dbSet.SaveChanges();

            Assert.AreEqual(3, dbSet.Count());

            var results = dbSet.WithGroup(new EntityGroup
            {
                Name = "Group1"
            }).ToArray();

            Assert.AreEqual(5, results.Length);
            Assert.AreEqual("Entry1", results[0].Label);
            Assert.AreEqual("Entry2", results[1].Label);
            Assert.AreEqual("Entry3", results[2].Label);
            Assert.AreEqual("Entry4", results[3].Label);
            Assert.AreEqual("Entry5", results[4].Label);
        }
        public void WithGroupOnEmptyBucket()
        {
            var dbSet = new MongoDbBucketSet <EntityGroup, SubEntityClass>(new BucketSetOptions
            {
                BucketSize = 2
            });

            dbSet.SetConnection(TestConfiguration.GetConnection());

            var result = dbSet.WithGroup(new EntityGroup
            {
                Name      = "Group1",
                Reference = 123
            }).Count();

            Assert.AreEqual(0, result);
        }
Beispiel #5
0
        public void WithGroupOnEmptyBucket()
        {
            var connection = TestConfiguration.GetConnection();
            var context    = new MongoDbContext(connection);
            var dbSet      = new MongoDbBucketSet <EntityGroup, SubEntityClass>(context, new BucketSetOptions
            {
                BucketSize         = 2,
                EntityTimeProperty = "Date"
            });

            var result = dbSet.WithGroup(new EntityGroup
            {
                Name      = "Group1",
                Reference = 123
            }).Count();

            Assert.AreEqual(0, result);
        }