Esempio n. 1
0
        public void DifferentPaths_ArentEqual(string lhsVal, string rhsVal)
        {
            var lhs = FileIdentifier.FromPath(lhsVal);
            var rhs = FileIdentifier.FromPath(rhsVal);

            Assert.AreNotEqual(lhs, rhs);
            Assert.AreNotEqual(lhs.GetHashCode(), rhs.GetHashCode());
        }
Esempio n. 2
0
 public void OpenFile_ConflictingArguments_Throws(FileMode mode, FileAccess access, FileShare share)
 {
     // arrange
     using (var driver = new DiskDriver())
     {
         // act/assert
         var e = Assert.ThrowsException <ArgumentException>(() =>
         {
             driver.OpenFile(FileIdentifier.FromPath(@"c:\unexisting\file.txt"),
                             mode,
                             access,
                             share);
         });
     }
 }
Esempio n. 3
0
 public void OpenFile_PathDoesntExist_Throws(FileMode mode)
 {
     // arrange
     using (var driver = new DiskDriver())
     {
         // act/assert
         Assert.ThrowsException <DirectoryNotFoundException>(() =>
         {
             driver.OpenFile(FileIdentifier.FromPath(@"c:\unexisting\file.txt"),
                             mode,
                             FileAccess.Write,
                             FileShare.Write);
         });
     }
 }
Esempio n. 4
0
        public void OpenFile_OpenMode_FileDoesntExist_Throws()
        {
            // arrange
            using (var driver = new DiskDriver())
            {
                driver.CreateOrGetDirectory(@"c:\temp");

                // act/assert
                Assert.ThrowsException <FileNotFoundException>(() =>
                {
                    driver.OpenFile(FileIdentifier.FromPath(@"c:\temp\file.txt"),
                                    FileMode.Open,
                                    FileAccess.ReadWrite,
                                    FileShare.ReadWrite);
                });
            }
        }
Esempio n. 5
0
        public void OpenFile_CreateNewMode_FileExists_Throws()
        {
            // arrange
            using (var driver = new DiskDriver())
            {
                driver.CreateOrGetFile(@"c:\temp\file.txt");

                // act/assert
                Assert.ThrowsException <IOException>(() =>
                {
                    driver.OpenFile(FileIdentifier.FromPath(@"c:\temp\file.txt"),
                                    FileMode.CreateNew,
                                    FileAccess.ReadWrite,
                                    FileShare.ReadWrite);
                });
            }
        }
Esempio n. 6
0
        public void Dispose_CanWriteToSink()
        {
            // arrange
            using (var sink = new MemoryStream())
                using (var reader = new StreamReader(sink))
                {
                    using (var msStub = new MemoryStreamProxy(sink, FileIdentifier.FromPath(@"c:\somefile.txt"), Substitute.For <IDiskDriver>()))
                        using (var writer = new StreamWriter(msStub))
                        {
                            writer.WriteLine("TEST");
                        }

                    // assert
                    var result = reader.ReadLine();
                    Assert.AreEqual("TEST", result);
                }
        }
Esempio n. 7
0
        public void Dispose_CanUpdateTimes()
        {
            // arrange
            var driver = Substitute.For <IDiskDriver>();
            var id     = FileIdentifier.FromPath(@"c:\somefile.txt");

            using (var sink = new MemoryStream())
            {
                using (var msStub = new MemoryStreamProxy(sink, id, driver))
                    using (var writer = new StreamWriter(msStub))
                    {
                        writer.WriteLine("TEST");
                    }

                // assert
                driver.Received().SetLastAccessTime(id, Arg.Any <DateTime>());
                driver.Received().SetLastWriteTime(id, Arg.Any <DateTime>());
            }
        }