コード例 #1
0
        /// <summary>
        ///     Initializes a new instance of the <see cref="WriterUnitTestFixture" /> class.
        /// </summary>
        /// <param name="output">The output.</param>
        public WriterUnitTestFixture(ITestOutputHelper output)
        {
            Output = output;
            var adapter = new TextWriterAdapter(output);

            _interceptor   = new TextWriterInterceptor(adapter);
            WriterProvider = new SingleWriterProvider(_interceptor);
            Container.RegisterInstance(WriterProvider);
        }
コード例 #2
0
        public void BindServices(ServiceDefinitionCollection services)
        {
            var textWriterAdapter = new TextWriterAdapter(
                _startupContext,
                Interfaces.Logging.Severity.Info,
                component: nameof(ContentMetadataService),
                operation: "Grpc");

            services.AddCodeFirst <IContentMetadataService>(this, MetadataServiceSerializer.BinderConfiguration, textWriterAdapter);
        }
コード例 #3
0
        private static Task <ConnectionMultiplexer> CreateMultiplexerCoreAsync(Context context, ConfigurationOptions options, Severity logSeverity)
        {
            if (logSeverity != Severity.Unknown)
            {
                var replacementContext = context.CreateNested(componentName: nameof(RedisConnectionMultiplexer));
                var logger             = new TextWriterAdapter(replacementContext, logSeverity, component: "Redis.StackExchange");
                return(ConnectionMultiplexer.ConnectAsync(options, logger));
            }

            return(ConnectionMultiplexer.ConnectAsync(options));
        }
コード例 #4
0
        public void TestWritesInInfoMode()
        {
            var log = new RollingMemoryLog(Severity.Diagnostic);

            using var logger = new Logger(synchronous: true, log);
            var context = new Context(logger);

            var twa = new TextWriterAdapter(context, Severity.Info);

            twa.WriteLine("Hello World!");
            log.RecentEntries(1).First().Should().Contain("Hello World!");
        }
コード例 #5
0
        private static async Task <IConnectionMultiplexer> GetConnectionMultiplexerAsync(Context context, ConfigurationOptions options, Severity logSeverity)
        {
            Contract.RequiresNotNull(context);

            if (logSeverity != Severity.Unknown)
            {
                var replacementContext = context.CreateNested(componentName: nameof(RedisConnectionMultiplexer));
                var logger             = new TextWriterAdapter(replacementContext, logSeverity, component: "Redis.StackExchange");
                return(await ConnectionMultiplexer.ConnectAsync(options, logger));
            }

            return(await ConnectionMultiplexer.ConnectAsync(options));
        }
コード例 #6
0
        public void Run(IProgress <IBinaryMessage> progress)
        {
            // TODO: Do something with our device simulator build...
            var loggedEvents = new AccumulatingProgress <IBinaryMessage>(progress);
            var textWriter   = new TextWriterAdapter(_buildId, loggedEvents);

            try
            {
                _buildResult.Run(new Log(textWriter));
            }
            catch (Exception e)
            {
                throw new RunFailed(e);
            }
        }
コード例 #7
0
        public void TestNewLinesAndSingleCharsAreIgnored()
        {
            var log = new RollingMemoryLog(Severity.Diagnostic);

            using var logger = new Logger(synchronous: true, log);
            var context = new Context(logger);

            var twa = new TextWriterAdapter(context, Severity.Info);

            twa.WriteLine();
            twa.WriteLine();
            twa.WriteLine();
            twa.Write('H');
            twa.Write('e');
            twa.Write('l');
            twa.Write('l');
            twa.Write('o');
            log.RecentEntries(1).Should().BeEmpty();
        }
コード例 #8
0
        public void WriteLineTest()
        {
            var outputMock = new Mock <ITestOutputHelper>();

            outputMock.Setup(x => x.WriteLine(It.IsAny <string>())).Callback <string>(CaptureText);
            var output  = outputMock.Object;
            var adapter = new TextWriterAdapter(output);

            adapter.WriteLine("Hello World");
            Assert.Equal("Hello World", _capturedText);
            adapter.Write("H");
            adapter.Write('\r');
            adapter.Write('e');
            adapter.Write('l');
            adapter.Write('o');
            adapter.Write('\n');
            Assert.Equal("H\relo", _capturedText);
            adapter.Write('\r');
            adapter.Write('\n');
            Assert.Equal(string.Empty, _capturedText);
        }
コード例 #9
0
        private static async Task <IConnectionMultiplexer> GetConnectionMultiplexerAsync(Context context, ConfigurationOptions options, Severity logSeverity)
        {
            var operationContext = new OperationContext(context);
            var endpoint         = options.GetRedisEndpoint();

            return(await operationContext.PerformNonResultOperationAsync(
                       Tracer,
                       async() =>
            {
                context.Debug($"{nameof(RedisConnectionMultiplexer)}: Connecting to redis endpoint: {endpoint}");
                if (logSeverity != Severity.Unknown)
                {
                    var replacementContext = context.CreateNested(componentName: nameof(RedisConnectionMultiplexer));
                    var logger = new TextWriterAdapter(replacementContext, logSeverity, component: "Redis.StackExchange");
                    return await ConnectionMultiplexer.ConnectAsync(options, logger);
                }

                return await ConnectionMultiplexer.ConnectAsync(options);
            },
                       extraEndMessage : r => $"Endpoint: {endpoint}",
                       traceOperationStarted : false));
        }