public void CheckSpecificationQueryStrategyOnCondition() { var strategy = new ExpressionSpecificationQueryStrategy <SimpleEntity>(p => p.Id == 0); ConditionalExtensions.OnCondition(strategy, true).GetType().ShouldEqual(typeof(ExpressionSpecificationQueryStrategy <SimpleEntity>)); ConditionalExtensions.OnCondition(strategy, false).GetType().ShouldEqual(typeof(DefaultSpecificationQueryStrategy <SimpleEntity>)); }
// [Test] public void ModifyAll() { var mongoDatabase = CreateEmptyMongoDatabase(); var repository = new MongoDbRepository(mongoDatabase); repository.Add(new MySimpleAccount("xyz", DateTime.Today.AddDays(-1), 1) { Weigth = 1 }); repository.Add(new MySimpleAccount("xyz", DateTime.Today.AddDays(-1), 2) { Weigth = 2 }); repository.Add(new MySimpleAccount("xyz", DateTime.Today.AddDays(-1), 3) { Weigth = 3 }); repository.Add(new MySimpleAccount("xyz", DateTime.Today, 4) { Weigth = 4 }); repository.Add(new MySimpleAccount("xyz", DateTime.Today, 5) { Weigth = 5 }); repository.Add(new MySimpleAccount("xyz", DateTime.Today, 6) { Weigth = 6 }); var lessThanTodayQuery = new ExpressionSpecificationQueryStrategy <MySimpleAccount>(p => p.DOB < DateTime.Today); repository.GetEntities <MySimpleAccount>(lessThanTodayQuery).Count().ShouldEqual(3); var result3 = repository.ModifyAll <MySimpleAccount>( lessThanTodayQuery, new MongoUpdateItem <MySimpleAccount>(p => p.DOB, DateTime.Today), new MongoUpdateItem <MySimpleAccount>(p => p.Weigth, 100)); result3.DocumentsAffected.ShouldEqual(3); repository.GetEntities <MySimpleAccount>(lessThanTodayQuery).Count().ShouldEqual(0); repository.GetEntities <MySimpleAccount>(p => p.DOB == DateTime.Today).Count().ShouldEqual(6); repository.GetEntities <MySimpleAccount>(p => p.Weigth == 100).Count().ShouldEqual(3); }
public void CheckSpecificationQueryStrategyOnCondition() { var strategy = new ExpressionSpecificationQueryStrategy<SimpleEntity>(p => p.Id == 0); ConditionalExtensions.OnCondition(strategy, true).GetType().ShouldEqual(typeof(ExpressionSpecificationQueryStrategy<SimpleEntity>)); ConditionalExtensions.OnCondition(strategy, false).GetType().ShouldEqual(typeof(DefaultSpecificationQueryStrategy<SimpleEntity>)); }
// [Test] public void ModifyAll() { var mongoDatabase = CreateEmptyMongoDatabase(); var repository = new MongoDbRepository(mongoDatabase); repository.Add(new MySimpleAccount("xyz", DateTime.Today.AddDays(-1), 1) { Weigth = 1 }); repository.Add(new MySimpleAccount("xyz", DateTime.Today.AddDays(-1), 2) { Weigth = 2 }); repository.Add(new MySimpleAccount("xyz", DateTime.Today.AddDays(-1), 3) { Weigth = 3 }); repository.Add(new MySimpleAccount("xyz", DateTime.Today, 4) { Weigth = 4 }); repository.Add(new MySimpleAccount("xyz", DateTime.Today, 5) { Weigth = 5 }); repository.Add(new MySimpleAccount("xyz", DateTime.Today, 6) { Weigth = 6 }); var lessThanTodayQuery = new ExpressionSpecificationQueryStrategy<MySimpleAccount>(p => p.DOB < DateTime.Today); repository.GetEntities<MySimpleAccount>(lessThanTodayQuery).Count().ShouldEqual(3); var result3 = repository.ModifyAll<MySimpleAccount>( lessThanTodayQuery, new MongoUpdateItem<MySimpleAccount>(p => p.DOB, DateTime.Today), new MongoUpdateItem<MySimpleAccount>(p => p.Weigth, 100)); result3.DocumentsAffected.ShouldEqual(3); repository.GetEntities<MySimpleAccount>(lessThanTodayQuery).Count().ShouldEqual(0); repository.GetEntities<MySimpleAccount>(p => p.DOB == DateTime.Today).Count().ShouldEqual(6); repository.GetEntities<MySimpleAccount>(p => p.Weigth == 100).Count().ShouldEqual(3); }