Example #1
0
        public override FileProperties GetFileProperties(string path)
        {
            MockFile file = this.RootDirectory.FindFile(path);

            if (file != null)
            {
                return(file.FileProperties);
            }
            else
            {
                return(FileProperties.DefaultFile);
            }
        }
Example #2
0
        public override SafeHandle OpenFile(string path, FileMode fileMode, FileAccess fileAccess, FileAttributes attributes, FileShare shareMode)
        {
            if (fileMode == FileMode.Create)
            {
                MockFile       newFile       = this.RootDirectory.CreateFile(path);
                FileProperties newProperties = new FileProperties(
                    attributes,
                    newFile.FileProperties.CreationTimeUTC,
                    newFile.FileProperties.LastAccessTimeUTC,
                    newFile.FileProperties.LastWriteTimeUTC,
                    newFile.FileProperties.Length);
                newFile.FileProperties = newProperties;
            }

            return(new MockSafeHandle(path, this.OpenFileStream(path, fileMode, fileAccess, shareMode)));
        }
Example #3
0
        public void AddFile(MockFile file, string path)
        {
            string        parentPath      = path.Substring(0, path.LastIndexOf(GVFSConstants.PathSeparator));
            MockDirectory parentDirectory = this.FindDirectory(parentPath);

            if (parentDirectory == null)
            {
                throw new IOException();
            }

            MockFile existingFileAtPath = parentDirectory.FindFile(path);

            existingFileAtPath.ShouldBeNull();

            parentDirectory.Files.Add(file.FullName, file);
        }
Example #4
0
        public override Stream OpenFileStream(string path, FileMode fileMode, FileAccess fileAccess, NativeMethods.FileAttributes attributes, FileShare shareMode)
        {
            MockFile file = this.RootDirectory.FindFile(path);

            if (fileMode == FileMode.OpenOrCreate)
            {
                if (file == null)
                {
                    return(this.CreateAndOpenFileStream(path));
                }
            }
            else
            {
                file.ShouldNotBeNull();
            }

            return(file.GetContentStream());
        }
Example #5
0
        public MockFile CreateFile(string path, string contents, bool createDirectories = false)
        {
            string        parentPath      = path.Substring(0, path.LastIndexOf(GVFSConstants.PathSeparator));
            MockDirectory parentDirectory = this.FindDirectory(parentPath);

            if (createDirectories)
            {
                if (parentDirectory == null)
                {
                    parentDirectory = this.CreateDirectory(parentPath);
                }
            }
            else
            {
                parentDirectory.ShouldNotBeNull();
            }

            MockFile newFile = new MockFile(path, contents);

            parentDirectory.Files.Add(newFile.FullName, newFile);

            return(newFile);
        }
Example #6
0
        public override void WriteAllText(string path, string contents)
        {
            MockFile file = new MockFile(path, contents);

            this.RootDirectory.AddOrOverwriteFile(file, path);
        }