예제 #1
0
        public async Task TestMultiInsert(int max)
        {
            var repository = new MongoDBRepository();
            var tasks      = new List <Task <BaseEntity> >();

            for (int count = 0; count < max; count++)
            {
                tasks.Add(repository.Insert(new BaseEntity()
                {
                    Name = String.Format("Alice{0}", count)
                }));
            }

            var names = new List <string>();

            // Run collection of Inserts concurrently
            foreach (var bucket in TaskProcessor.Interleaved(tasks))
            {
                var t = await bucket;
                try { var entity = await t;
                      names.Add(entity.Name); }
                catch (OperationCanceledException) { }
                catch (Exception exc) {
                    Debug.WriteLine(exc);
                }
            }

            Assert.Equal(max, names.Count);
        }
예제 #2
0
        public async Task TestInsert()
        {
            var repository = new MongoDBRepository();
            var entity     = await repository.Insert(new BaseEntity()
            {
                Name = "Alice"
            });

            Assert.Equal <string>("Alice", entity.Name);
        }