public void FileMemo_CheckMemoOfAddedFileAfterSizeAndLastWriteTimeChange_MemoNotFound() { var memos = new TestFileMemo(); var testFileName = "~/add-me-check-me-write-more-data-and-change-time.dat"; var file = memos.CreateTestFile(testFileName, 64, 12); var memo = TestFileMemo.ComputeMemoValue(file); Assert.True(memos.AddMemo(testFileName, memo)); var originalLastWriteTime = StreamUtilities.LastFileWriteTimeUtc(testFileName, memos.Storage); Thread.Sleep(1); // ugh... but tests can run fast enough to fail w/ equal timestamps var originalSize = StreamUtilities.FileSize(testFileName, memos.Storage); file.Seek(0, SeekOrigin.End); file.WriteByte(0xFF); Assert.NotEqual(originalSize, StreamUtilities.FileSize(testFileName, memos.Storage)); Assert.NotEqual(originalLastWriteTime, StreamUtilities.LastFileWriteTimeUtc(testFileName, memos.Storage)); var returnedMemo = memo; Assert.False(memos.CheckMemo(testFileName, out returnedMemo)); Assert.Equal(TestFileMemo.InitialMemoValue, returnedMemo); file.Dispose(); file = null; }
public void FileMemo_CheckMemoOfNonexistentFile_ReportsNoMemo() { var memos = new TestFileMemo(); int memo = -2; Assert.False(memos.CheckMemo("~/nonexistent_file.txt", out memo)); Assert.Equal(TestFileMemo.InitialMemoValue, memo); }
public void FileMemo_CheckMemoOfAddedFileAfterRenaming_MemoNotFound() { var memos = new TestFileMemo(); var testFileName = "~/add-me-check-me-rename-me.dat"; var file = memos.CreateTestFile(testFileName, 64, 12); var memo = TestFileMemo.ComputeMemoValue(file); Assert.True(memos.AddMemo(testFileName, memo)); var returnedMemo = memo; Assert.True(memos.CheckMemo(testFileName, out returnedMemo)); var newTestFileName = "~/add-me-check-me-rename-me.dat~"; memos.Storage.Rename(testFileName, newTestFileName); Assert.False(memos.CheckMemo(testFileName, out returnedMemo)); Assert.Equal(TestFileMemo.InitialMemoValue, returnedMemo); file.Dispose(); file = null; }
public void FileMemo_CheckMemoOfAddedFile_GetsCorrectMemo() { var memos = new TestFileMemo(); var testFileName = "~/add-me-check-me.dat"; var file = memos.CreateTestFile(testFileName, 123, 21); var memo = TestFileMemo.ComputeMemoValue(file); Assert.True(memos.AddMemo(testFileName, memo)); var storedMemo = TestFileMemo.InitialMemoValue; Assert.True(memos.CheckMemo(testFileName, out storedMemo)); Assert.Equal(memo, storedMemo); file.Dispose(); file = null; }
public void FileMemo_CheckMemoOfAddedFileAfterLastWriteTimeChanges_MemoNotFound() { var memos = new TestFileMemo(); var testFileName = "~/add-me-check-me-change-write-time.dat"; var file = memos.CreateTestFile(testFileName, 64, 12); var memo = TestFileMemo.ComputeMemoValue(file); Assert.True(memos.AddMemo(testFileName, memo)); var originalLastWriteTime = memos.Storage.LastWriteTimeUtc(testFileName); Thread.Sleep(1); // ugh... but tests can run fast enough to fail w/ equal timestamps var newLastWriteTime = DateTime.UtcNow; Assert.NotEqual(originalLastWriteTime, newLastWriteTime); memos.Storage.SetLastWriteTimeUtc(testFileName, newLastWriteTime); var returnedMemo = memo; Assert.False(memos.CheckMemo(testFileName, out returnedMemo)); Assert.Equal(TestFileMemo.InitialMemoValue, returnedMemo); file.Dispose(); file = null; }