public static void Set(IEnumerable <HostsFileEntry> entries, string filepath = null) { filepath = filepath ?? GetHostsPath(); List <Func <IEnumerable <string>, IEnumerable <string> > > transforms = new List <Func <IEnumerable <string>, IEnumerable <string> > >(); foreach (var entry in entries.Reverse()) { string hostName = entry.Hostname; string address = entry.Address; transforms.Add(Core.Remove.GetRemoveTransformForHost(hostName)); transforms.Add(lines => GetSetHostTransform(lines.ToArray(), hostName, address)); } TransformOperation.TransformFile(filepath, transforms.ToArray()); }
public void preserves_original_encoding(Encoding encoding) { string expectedContents = String.Join("", Enumerable.Range(0, 2048) .Select(i => (char)i) .Where(c => c != '\n' && c != '\r') .Select(c => c.ToString() + "\r\n") .ToArray()); string filename = GetFileWithContents(expectedContents, encoding); TransformOperation.TransformFile(filename, lines => lines); Encoding encodingUsed; string fileContents = ReadFileContents(filename, out encodingUsed); Assert.That(encodingUsed, Is.EqualTo(encoding)); Assert.That(fileContents, Is.EqualTo(expectedContents)); }