Exemplo n.º 1
0
        public async void AsyncOperations()
        {
            const int Count = 500;

            BasicTestDb         db    = new BasicTestDb();
            List <Task <bool> > tasks = new List <Task <bool> >();

            await
            Task.Run(
                () => db.InsertAll(Faker.RandomCollection(() => new BasicObject(), Count, Count)))
            .ConfigureAwait(true);

            for (int i = 0; i < 20; i++)
            {
                tasks.Add(
                    Task.Run(
                        () =>
                {
                    using (db.Lock())
                        return(db.Table <BasicObject>().ToList().Count == Count);
                }));
            }

            await Task.WhenAll(tasks.ToArray()).ConfigureAwait(true);

            tasks.Should().OnlyContain(f => f.Result);
        }
Exemplo n.º 2
0
        public void SelectExpr()
        {
            const int Count = 500;

            BasicTestDb db = new BasicTestDb();

            var paramObjs = Faker.RandomCollection(() => new BasicObject(), Count, Count);

            // Create DB objects
            db.InsertAll(paramObjs);

            IEnumerable <BasicObject> fetchedObjs;

            // Fetch created objects
            using (db.Lock())
                fetchedObjs =
                    db.Table <BasicObject>()
                    .Where(bo => paramObjs.Select(po => po.Idx).Contains(bo.Idx))
                    .ToList();

            fetchedObjs.Count().Should().Be(paramObjs.Count());
        }