Badgerati/Edison

View on GitHub
Edison.Engine/Repositories/FileRepository.cs

Summary

Maintainability
A
0 mins
Test Coverage
/*
Edison is designed to be simpler and more performant unit/integration testing framework.

Copyright (c) 2015, Matthew Kelly (Badgerati)
Company: Cadaeic Studios
License: MIT (see LICENSE for details)
 */

using Edison.Engine.Repositories.Interfaces;
using Edison.Injector;
using System.IO;
using System.Text;

namespace Edison.Engine.Repositories
{
    [InjectionInterface(typeof(IFileRepository))]
    public class FileRepository : IFileRepository
    {

        public bool Exists(string path)
        {
            return File.Exists(path);
        }

        public string[] ReadAllLines(string path, Encoding encoding)
        {
            return File.ReadAllLines(path, encoding == default(Encoding) ? Encoding.UTF8 : encoding);
        }

        public string ReadAllText(string path, Encoding encoding)
        {
            return File.ReadAllText(path, encoding == default(Encoding) ? Encoding.UTF8 : encoding);
        }

        public FileStream Create(string path)
        {
            return File.Create(path);
        }

        public void AppendAllText(string path, string contents, Encoding encoding)
        {
            File.AppendAllText(path, contents, encoding == default(Encoding) ? Encoding.UTF8 : encoding);
        }

        public void WriteAllText(string path, string text, Encoding encoding)
        {
            File.WriteAllText(path, text, encoding);
        }

        public void WriteAllLines(string path, string[] lines, Encoding encoding)
        {
            File.WriteAllLines(path, lines, encoding);
        }

        public void Copy(string source, string target, bool overwrite)
        {
            File.Copy(source, target, overwrite);
        }

    }
}