public void mongo_task_entity_update_by_express_test() { var dateTime = DateTime.Now; var timeSpan = new TimeSpan(1, 1, 1); var task = GetMongoTaskEntity(dateTime, timeSpan); var repo = new MongoTestDB <MongoTaskEntity>(); repo.Insert(task); var id = task.Id; var newTimeSpan = new TimeSpan(3, 3, 3); var newDateTime = dateTime.AddDays(-1); var newName = "newMongoTest"; task.SetUpdate(() => task.TaskEntity.StartTime, newTimeSpan); task.SetUpdate(() => task.TaskStatusEntity.LastRunTime, newDateTime); task.SetUpdate(() => task.Name, newName); repo.Update(p => p.Id == id, task); var updatedTaskList = repo.GetAll(); updatedTaskList.Should().NotBeNull(); var updatedTask = updatedTaskList.FirstOrDefault(); updatedTask.Should().NotBeNull(); updatedTask.TaskEntity.StartTime.Should().Be(newTimeSpan); updatedTask.TaskStatusEntity.LastRunTime.Day.Should().Be(dateTime.AddDays(-1).Day); updatedTask.Name.Should().Be(newName); }
//[Fact] public void mongo_long_id_generator_concurrency_test() { var repo = new MongoTestDB <CustomEntityTest, int>(); var count = 10; var tasks = new Task[count]; for (var i = 0; i < count; i++) { tasks[i] = Task.Factory.StartNew(() => { var custom = new CustomEntityTest() { Name = "jia" + DateTime.Now.ToLongDateString() }; repo.Insert(custom); }); } Task.WaitAll(tasks); var list = repo.GetAll().ToList(); list.Count.Should().Be(count); var maxId = list.Max(p => p.Id); maxId.Should().Be(count); }
public void mongo_task_entity_insert_test() { var dateTime = DateTime.Now; var timeSpan = new TimeSpan(1, 1, 1); var task = GetMongoTaskEntity(dateTime, timeSpan); var repo = new MongoTestDB <MongoTaskEntity>(); repo.Insert(task); var all = repo.GetAll(); var addedTask = all.First(); addedTask.TaskStatusEntity.LastRunTime.Millisecond.Should().Be(dateTime.Millisecond); addedTask.TaskStatusEntity.LastRunTime.Second.Should().Be(dateTime.Second); addedTask.TaskEntity.StartTime.Should().Be(timeSpan); }
public void mongo_batch_test() { var customerRepo = new MongoTestDB <Customer>(); var custlist = new List <Customer>(new Customer[] { new Customer() { FirstName = "Customer A" }, new Customer() { FirstName = "Client B" }, new Customer() { FirstName = "Customer C" }, new Customer() { FirstName = "Client D" }, new Customer() { FirstName = "Customer E" }, new Customer() { FirstName = "Client F" }, new Customer() { FirstName = "Customer G" }, }); //Insert batch customerRepo.Insert(custlist); var count = customerRepo.GetAll().Count(); count.Should().Be(7); foreach (Customer c in custlist) { c.Id.Should().NotBe(new string('0', 24)); } //Update batch foreach (Customer c in custlist) { c.LastName = c.FirstName; } customerRepo.Update(custlist); var updateList = customerRepo.GetAll(); foreach (Customer c in updateList) { c.LastName.Should().Be(c.FirstName); } //Delete by criteria customerRepo.Delete(f => f.FirstName.StartsWith("Client")); count = customerRepo.GetAll().Count(); count.Should().Be(4); //Delete specific object customerRepo.Delete(custlist[0]); //Test AsQueryable var selectedcustomers = customerRepo.GetBy( cust => cust.LastName.EndsWith("C") || cust.LastName.EndsWith("G")); selectedcustomers.ToList().Count.Should().Be(2); count = customerRepo.GetAll().Count(); count.Should().Be(3); }