protected override void BeginProcessing() { try { _parser.AppendReservedSettings = AppendReservedSettings; _parser.WriteWarning = WriteVerbose; var currentDirectory = String.IsNullOrEmpty(Directory) ? Environment.CurrentDirectory : Directory; if (ShouldProcess(Directory) && ShouldProcess(FilePattern) && ShouldProcess(Section)) { foreach (var file in System.IO.Directory.GetFiles(currentDirectory, FilePattern) .OrderBy(Path.GetFileNameWithoutExtension)) { _settingsReaders.Add(new SettingsFileReader(file, currentDirectory)); } } overrideSettingsReader = new OverrideSettingsReader(OverrideSettings, Section); } catch (Exception e) { ThrowTerminatingError( new ErrorRecord( e, "ParsedSettings", ErrorCategory.NotSpecified, FilePattern) ); } }
public void Reader_ReadSettings_NonEmptyTable_ReturnsCorrectlyFormattedLines() { var settings = new Hashtable { { "key1", "value1" }, { "key2", "value2" }, { "key3", "value3" }, }; var reader = new OverrideSettingsReader(settings, "TestSection"); var readLines = reader.ReadSettings().ToList(); Assert.AreEqual(4, readLines.Count); Assert.AreEqual("TestSection", readLines[0]); Assert.Contains("\tkey1\tvalue1", readLines); Assert.Contains("\tkey2\tvalue2", readLines); Assert.Contains("\tkey3\tvalue3", readLines); }
public void Reader_ReadSettings_NullTable_ReturnsZeroLines() { var reader = new OverrideSettingsReader(null, "TestSection"); Assert.AreEqual(0, reader.ReadSettings().Count()); }