private void ProcessResxFile(string inputFileName) { try { var outputFileName = Path.Combine(Path.GetDirectoryName(inputFileName), Path.GetFileNameWithoutExtension(inputFileName) + ".qps-ploc" + Path.GetExtension(inputFileName)); using (var inputStream = new FileStream(inputFileName, FileMode.Open, FileAccess.Read)) using (var outputStream = new FileStream(outputFileName, FileMode.Create, FileAccess.Write)) { var processor = new ResxProcessor(); if (EnableExtraLength || UseDefaultOptions) { processor.TransformString += (s, e) => { e.Value = ExtraLength.Transform(e.Value); }; } if (EnableAccents || UseDefaultOptions) { processor.TransformString += (s, e) => { e.Value = Accents.Transform(e.Value); }; } if (EnableBrackets || UseDefaultOptions) { processor.TransformString += (s, e) => { e.Value = Brackets.Transform(e.Value); }; } if (EnableMirror) { processor.TransformString += (s, e) => { e.Value = Mirror.Transform(e.Value); }; } if (EnableUnderscores) { processor.TransformString += (s, e) => { e.Value = Underscores.Transform(e.Value); }; } processor.Transform(inputStream, outputStream); } Console.WriteLine("The file {0} was written successfully.", outputFileName); } catch (Exception ex) { if (ex is PathTooLongException || ex is FileNotFoundException || ex is DirectoryNotFoundException || ex is IOException || ex is SecurityException) { Console.WriteLine(ex.Message); } else { throw; } } }
public void TestExtraLength() { Assert.That(ExtraLength.Transform(string.Empty), Is.EqualTo(string.Empty), "No extra length added to the empty string."); var singleWord = "hello"; var transformed = ExtraLength.Transform(singleWord); Assert.That(transformed.Length, Is.GreaterThan(singleWord.Length)); Assert.That(transformed.Split(' ').Length, Is.EqualTo(singleWord.Split(' ').Length), "The number of words stays the same."); var sentence = "The quick brown fox bla bla bla."; transformed = ExtraLength.Transform(sentence); Assert.That(transformed.Length, Is.GreaterThan(sentence.Length)); Assert.That(transformed.Split(' ').Length, Is.EqualTo(sentence.Split(' ').Length), "The number of words stays the same."); }
private ITransformer CreateTransformer() { var transformers = new List <ITransformer>(); if (EnableExtraLength || UseDefaultOptions) { var transform = ExtraLength.Instance; if (LengthenChar != null) { transform = new ExtraLength() { LengthenCharacter = LengthenChar[0] }; } transformers.Add(transform); } if (EnableAccents || UseDefaultOptions) { transformers.Add(Accents.Instance); } if (EnableBrackets || UseDefaultOptions) { transformers.Add(Brackets.Instance); } if (EnableMirror) { transformers.Add(Mirror.Instance); } if (EnableUnderscores) { transformers.Add(Underscores.Instance); } return(new Pipeline(transformers)); }