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

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

            var actualID = Guid.Empty;

            await dataBaseContext.AddTaskCompletedEventHandlerAsync(DataBaseContext_TaskCompleted);

            var taskID1 = await(dataBase.LoadAsync(authentication) as Task <Guid>);

            Assert.AreEqual(taskID1, actualID);

            await dataBaseContext.RemoveTaskCompletedEventHandlerAsync(DataBaseContext_TaskCompleted);

            var taskID2 = await(dataBase.UnloadAsync(authentication) as Task <Guid>);

            Assert.AreEqual(taskID1, actualID);
            Assert.AreNotEqual(Guid.Empty, taskID2);

            void DataBaseContext_TaskCompleted(object sender, TaskCompletedEventArgs e)
            {
                if (e.InvokeID == authentication.ID)
                {
                    actualID = e.TaskIDs.Single();
                }
            }
        }