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; }
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); }
[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(); }