public async Task DropCollection()
        {
            using (var file = new TempFile())
                using (var db = new LiteDatabaseAsync(file.Filename))
                {
                    (await db.GetCollectionNamesAsync()).Should().NotContain("col");

                    var col = db.GetCollection("col");

                    await col.InsertAsync(new BsonDocument { ["a"] = 1 });

                    (await db.GetCollectionNamesAsync()).Should().Contain("col");

                    await db.DropCollectionAsync("col");

                    (await db.GetCollectionNamesAsync()).Should().NotContain("col");
                }
        }
        public async Task InsertDropCollection()
        {
            using (var file = new TempFile())
            {
                using (var db = new LiteDatabaseAsync(file.Filename))
                {
                    var col = db.GetCollection("test");
                    await col.InsertAsync(new BsonDocument { ["_id"] = 1 });

                    await db.DropCollectionAsync("test");

                    await db.RebuildAsync();
                }

                using (var db = new LiteDatabaseAsync(file.Filename))
                {
                    var col = db.GetCollection("test");
                    await col.InsertAsync(new BsonDocument { ["_id"] = 1 });
                }
            }
        }
Beispiel #3
0
        public async Task Rebuild_After_DropCollection()
        {
            using (var file = new TempFile())
                using (var db = new LiteDatabaseAsync(file.Filename))
                {
                    var col = db.GetCollection <Zip>("zip");

                    await col.InsertAsync(DataGen.Zip());

                    await db.DropCollectionAsync("zip");

                    await db.CheckpointAsync();

                    // full disk usage
                    var size = file.Size;

                    var r = await db.RebuildAsync();

                    // only header page
                    Assert.Equal(8192, size - r);
                }
        }