public async Task <bool> WriteAndCommitFailsToGetLock()
        {
            MockFileStreamer
            .Setup(x => x.GetLockForFile(It.IsAny <string>()))
            .ReturnsAsync(false);
            var result = await FileDataWorker.WriteAndCommit(ExpectedBasicData.Id, ExpectedBasicData);

            MockFileStreamer.Verify(x => x.GetLockForFile(It.IsAny <string>()), Times.Once);
            MockFileStreamer.Verify(x => x.CloseStream("BasicData\\" + ExpectedBasicData.Id + ".data"), Times.Never);
            MockFileStreamer.Verify(x => x.DisposeOfStream("BasicData\\" + ExpectedBasicData.Id + ".data"),
                                    Times.Never);
            return(result);
        }
        public async Task <bool> WriteAndCommitSuccessful()
        {
            var result = await FileDataWorker.WriteAndCommit(ExpectedBasicData.Id, ExpectedBasicData);

            MockFileStreamer.Verify(x => x.GetLockForFile("Data\\BasicData\\" + ExpectedBasicData.Id + ".data"),
                                    Times.Once);
            MockFileStreamer.Verify(
                x => x.WriteDataToStream("Data\\BasicData\\" + ExpectedBasicData.Id + ".data", ExpectedBasicData),
                Times.Once);
            MockFileStreamer.Verify(x => x.CloseStream("Data\\BasicData\\" + ExpectedBasicData.Id + ".data"),
                                    Times.Once);
            MockFileStreamer.Verify(x => x.DisposeOfStream("Data\\BasicData\\" + ExpectedBasicData.Id + ".data"),
                                    Times.Never);
            MockFileStreamer.Verify(x => x.UnlockFile("Data\\BasicData\\" + ExpectedBasicData.Id + ".data"),
                                    Times.Once);
            return(result);
        }
        public async Task <bool> WriteAndCommitFailsToWriteDataToStreamDueToException()
        {
            MockFileStreamer
            .Setup(x => x.WriteDataToStream(It.IsAny <string>(), It.IsAny <BasicData>()))
            .Throws <Exception>();
            var result = await FileDataWorker.WriteAndCommit(ExpectedBasicData.Id, ExpectedBasicData);

            MockFileStreamer.Verify(x => x.GetLockForFile("Data\\BasicData\\" + ExpectedBasicData.Id + ".data"),
                                    Times.Once);
            MockFileStreamer.Verify(
                x => x.WriteDataToStream("Data\\BasicData\\" + ExpectedBasicData.Id + ".data", ExpectedBasicData),
                Times.Once);
            MockFileStreamer.Verify(x => x.UnlockFile("Data\\BasicData\\" + ExpectedBasicData.Id + ".data"),
                                    Times.Once);
            MockFileStreamer.Verify(x => x.CloseStream("Data\\BasicData\\" + ExpectedBasicData.Id + ".data"),
                                    Times.Never);
            MockFileStreamer.Verify(x => x.DisposeOfStream("Data\\BasicData\\" + ExpectedBasicData.Id + ".data"),
                                    Times.Never);
            return(result);
        }