public async Task ItemsResetting_TestAsync()
        {
            var authentication = await this.TestContext.LoginRandomAsync(Authority.Admin);

            var dataBaseFilter = new DataBaseFilter(DataBaseFlags.Loaded | DataBaseFlags.NotLocked | DataBaseFlags.Public);
            var dataBase       = await dataBaseFilter.GetDataBaseAsync(app);

            var expectedDataBase = dataBase;
            var actualDataBase   = null as IDataBase;
            await dataBaseContext.AddItemsResettingEventHandlerAsync(DataBaseContext_ItemsResetting);

            var transaction1 = await dataBase.BeginTransactionAsync(authentication);

            await transaction1.RollbackAsync(authentication);

            Assert.AreEqual(expectedDataBase, actualDataBase);

            await dataBaseContext.RemoveItemsResettingEventHandlerAsync(DataBaseContext_ItemsResetting);

            var transaction2 = await dataBase.BeginTransactionAsync(authentication);

            await transaction2.RollbackAsync(authentication);

            Assert.AreEqual(expectedDataBase, actualDataBase);

            void DataBaseContext_ItemsResetting(object sender, ItemsEventArgs <IDataBase> e)
            {
                var dataBase = e.Items.Single() as IDataBase;

                actualDataBase = dataBase;
            }
        }