Ejemplo n.º 1
0
        public void FileMemo_AddValidMemoThenAddInvalidMemorForSamePath_MemoIsRemoved()
        {
            var testFileName = "~/add-valid-then-add-invalid-dat";
            int memo         = 42; // just use a bogus memo
            var memos        = new TestFileMemo();

            using (StreamUtilities.OpenFileStream(testFileName, memos.Storage))
            {
                Assert.True(memos.AddMemo(testFileName, memo));
                Assert.False(memos.AddMemo(testFileName, TestFileMemo.InitialMemoValue));
            }
        }
Ejemplo n.º 2
0
        public void FileMemo_AddMemoOfFileThatIsThenDeletedAndAddedAgain_MemoAddedThenRemoved()
        {
            var testFileName = "~/delete-this-test-file.dat";
            int memo         = 42; // just use a bogus memo
            var memos        = new TestFileMemo();

            using (StreamUtilities.OpenFileStream(testFileName, memos.Storage))
            {
                Assert.True(memos.AddMemo(testFileName, memo));
            }

            Assert.False(memos.AddMemo(testFileName, memo));
        }
Ejemplo n.º 3
0
        public void FileMemo_AddMemoOfNonexistentFile_MemoNotAdded()
        {
            var testFileName = "~/not-a-valid-test-file.dat";
            var memos        = new TestFileMemo();

            Assert.False(memos.AddMemo(testFileName, 42));
        }
Ejemplo n.º 4
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;
        }
Ejemplo n.º 5
0
        public void FileMemo_AddMemoOfValidFile_MemoAdded()
        {
            var memos        = new TestFileMemo();
            var testFileName = "~/test-file.dat";
            var file         = memos.CreateTestFile(testFileName, 123, 21);

            var memo = TestFileMemo.ComputeMemoValue(file);

            Assert.True(memos.AddMemo(testFileName, memo));
            file.Dispose();
            file = null;
        }
Ejemplo n.º 6
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;
        }
Ejemplo n.º 7
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;
        }
Ejemplo n.º 8
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;
        }