public void InvalidRemoveArguments() { var dbSet = new MongoDbBucketSet <EntityGroup, SubEntityClass>(new Mock <IMongoDbContext>().Object, new BucketSetOptions { BucketSize = 2, EntityTimeProperty = "Date" }); Assert.ThrowsException <ArgumentNullException>(() => dbSet.Remove(null)); }
public void RemoveBucket() { 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 = "Entry2", Date = new DateTime(2020, 1, 3) } }); Assert.IsFalse(dbSet.Any(b => b.Group.Name == "Group1")); context.SaveChanges(); Assert.IsTrue(dbSet.Any(b => b.Group.Name == "Group1" && b.ItemCount == 2)); Assert.IsTrue(dbSet.Any(b => b.Group.Name == "Group1" && b.ItemCount == 1)); dbSet.Remove(new EntityGroup { Name = "Group1" }); context.SaveChanges(); Assert.IsFalse(dbSet.Any(b => b.Group.Name == "Group1")); }