public ConfigurationGenerator(
            [NotNull] IPreferencesManager preferencesManager,
            [NotNull] TemplateFactory templateFactory,
            [NotNull] ConfigurationCollectionLoaderFactory configurationCollectionLoaderFactory,
            [NotNull] IConfigurationFactory configurationFactory,
            [NotNull] ConfigurationCollectionFilter configurationCollectionFilter,
            [NotNull] IPostProcessorPipeline postProcessorPipeline,
            [NotNull] FileOutputWriter fileOutputWriter)
        {
            if (templateFactory == null)
            {
                throw new ArgumentNullException(nameof(templateFactory));
            }
            if (configurationCollectionLoaderFactory == null)
            {
                throw new ArgumentNullException(nameof(configurationCollectionLoaderFactory));
            }
            if (configurationFactory == null)
            {
                throw new ArgumentNullException(nameof(configurationFactory));
            }
            if (configurationCollectionFilter == null)
            {
                throw new ArgumentNullException(nameof(configurationCollectionFilter));
            }
            if (postProcessorPipeline == null)
            {
                throw new ArgumentNullException(nameof(postProcessorPipeline));
            }
            if (fileOutputWriter == null)
            {
                throw new ArgumentNullException(nameof(fileOutputWriter));
            }
            if (preferencesManager == null)
            {
                throw new ArgumentNullException(nameof(preferencesManager));
            }

            _templateFactory = templateFactory;
            _configurationCollectionLoaderFactory = configurationCollectionLoaderFactory;
            _configurationFactory          = configurationFactory;
            _configurationCollectionFilter = configurationCollectionFilter;
            _postProcessorPipeline         = postProcessorPipeline;
            _fileOutputWriter   = fileOutputWriter;
            _preferencesManager = preferencesManager;
        }
示例#2
0
        protected override void BeginProcessing()
        {
            System.Text.Encoding useEnc = System.Text.Encoding.UTF8;
            if (!String.IsNullOrEmpty(Encoding))
            {
                try
                {
                    useEnc = System.Text.Encoding.GetEncoding(Encoding);
                }
                catch (ArgumentException)
                {
                    // shouldn't happen as Encoding gets validated
                    var msg = String.Format("Invalid encoding '{0}'", Encoding);
                    ThrowTerminatingError(new PSArgumentException(msg).ErrorRecord);
                }
            }
            int width = Width == 0 ? -1 : Width;

            OutputWriter = new FileOutputWriter(FilePath, Append, !NoClobber, useEnc, width);
        }
示例#3
0
        [Test]//, Ignore("integration")]
        public void UptimeMonitor_Runs()
        {
            var successWait = TimeSpan.FromSeconds(1);
            var pinger      = new Pinger("8.8.8.8");
            var logWriter   = new MultipleOutputWriter(
                new ConsolOutputWriter(),
                new FileOutputWriter("D:\\Projects\\InternetMonitor\\InternetMonitor\\InternetMonitor.Tests\\bin\\Debug\\log.txt")
                );
            var failWriter   = new FileOutputWriter("D:\\Projects\\InternetMonitor\\InternetMonitor\\InternetMonitor.Tests\\bin\\Debug\\failures.txt");
            var resultLogger = new ResultLogger(logWriter, failWriter);
            var monitor      = new UptimeMonitor(successWait, pinger, resultLogger);

            var task = monitor.Run();

            Thread.Sleep(TimeSpan.FromSeconds(60));

            monitor.Stop();

            task.Wait();
        }