Esempio n. 1
0
        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;
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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;
        }
Esempio n. 4
0
        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;
        }
Esempio n. 5
0
        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;
        }