Пример #1
0
        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());
        }