public async ThreadingTask SetsTheDeletedFlag()
            {
                await TimeEntriesSource.Delete(DatabaseTimeEntry.Id).LastOrDefaultAsync();

                await Repository.Received().Update(Arg.Is <IDatabaseTimeEntry>(te => te.IsDeleted == true));
            }
            public async ThreadingTask UpdatesTheTimeEntryMakingItDirty()
            {
                await TimeEntriesSource.Stop(ValidTime);

                await Repository.Received().Update(Arg.Is <IDatabaseTimeEntry>(te => te.IsDirty));
            }
            public async ThreadingTask CreatesATimeEntryWithAnIdProvidedByTheIdProvider()
            {
                await TimeEntriesSource.Start(ValidTime, ValidDescription, true);

                await Repository.Received().Create(Arg.Is <IDatabaseTimeEntry>(te => te.Id == -1));
            }
 public async ThreadingTask UpdatesTheTimeEntrySettingItsStopTime()
 {
     await TimeEntriesSource.Stop(ValidTime); 

     await Repository.Received().Update(Arg.Is <IDatabaseTimeEntry>(te => te.Stop == ValidTime));
 }
            public async ThreadingTask CreatesATimeEntryWithTheProvidedValueForStartTime()
            {
                await TimeEntriesSource.Start(ValidTime, ValidDescription, true);

                await Repository.Received().Create(Arg.Is <IDatabaseTimeEntry>(te => te.Start == ValidTime));
            }