private static FileSystemDocumentStore InitializeDocumentStore(string folder)
        {
            var fs          = new FileSystemImpl();
            var storeFolder = fs.Directory(folder);
            var isNewStore  = !storeFolder.Exists;

            if (!storeFolder.Exists)
            {
                storeFolder.Create();
            }

            var store = new FileSystemDocumentStore(storeFolder);

            store.Initialize();

            if (isNewStore)
            {
                var doc = store.Create("/Welcome");
                doc.Body.Blocks.Add(new Paragraph(new Run("Welcome!")));

                store.SaveChanges();
            }

            return(store);
        }
        public FileSystemRepositoryTests()
        {
            this.serializer = new JsonNetSerializer();
            this.fileSystem = new FileSystemImpl();

            this.fileSystem.AppData.GetFiles("*.core").ToList().ForEach(x => x.Delete());
        }
Example #3
0
        public void Stream_ExistingFiles_ContentFullyOverwritten()
        {
            var fs   = new FileSystemImpl();
            var file = fs.Directory(Path.GetTempPath()).File(Guid.NewGuid().ToString());

            using (var stream = file.Stream(FileAccess.Write))
            {
                stream.WriteByte(9);
                stream.WriteByte(9);
                stream.WriteByte(9);
                stream.WriteByte(9);
                stream.WriteByte(9);
            }

            using (var stream = file.Stream(FileAccess.Write))
            {
                stream.WriteByte(1);
                stream.WriteByte(1);
                stream.WriteByte(1);
            }

            Assert.That(file.Size, Is.EqualTo(3));

            file.Delete();
        }
        public void GetTempPath_WhenCalled_AlwaysExists()
        {
            var fs = new FileSystemImpl();

            var dir = fs.GetTempPath();

            Assert.That(dir.Exists, Is.True);
        }
        public void GetTempFile_WhenCalled_ParentAlwaysExists()
        {
            var fs = new FileSystemImpl();

            var file = fs.GetTempFile();

            Assert.That(file.Parent.Exists, Is.True);
        }
        public void Parent_OfRoot_IsNull()
        {
            var fs = new FileSystemImpl();

            fs.File("/x/a/1").Create();

            var root = fs.Directory("/");

            Assert.That(root.Parent, Is.Null);
        }
        public void Directory_WithRootFolder_Succeeds()
        {
            var fs = new FileSystemImpl();

            fs.File("/x/a/1").Create();
            fs.File("/x/b/2/x").Create();
            fs.File("/x/b/2/y").Create();

            var root = fs.Directory("/x");

            Assert.That(root.Exists, Is.True);
        }
Example #8
0
        public void Stream_NewFiles_CreatedOnDemand()
        {
            var fs   = new FileSystemImpl();
            var file = fs.Directory(Path.GetTempPath()).File(Guid.NewGuid().ToString());

            using (var stream = file.Stream(FileAccess.Write))
            {
                stream.WriteByte(0);
            }

            Assert.That(file.Exists);

            file.Delete();
        }
Example #9
0
        public void Stream_OpenWithRead_ContentCanBeRead()
        {
            var fs   = new FileSystemImpl();
            var file = fs.Directory(Path.GetTempPath()).File(Guid.NewGuid().ToString());

            using (var stream = file.Stream(FileAccess.Write))
            {
                stream.WriteByte(2);
                stream.WriteByte(3);
                stream.WriteByte(4);
            }

            using (var stream = file.Stream(FileAccess.Read))
            {
                Assert.That(stream.ReadByte(), Is.EqualTo(2));
                Assert.That(stream.ReadByte(), Is.EqualTo(3));
                Assert.That(stream.ReadByte(), Is.EqualTo(4));
            }

            file.Delete();
        }
Example #10
0
 public void SetUp()
 {
     myFileSystem = new FileSystemImpl();
 }
Example #11
0
 public FileSystemWatcherImpl(FileSystemImpl fs)
 {
     fileSystem = fs;
     fs.watchers.Add(this);
 }