public void PipelineBuilder_AddExportingProcessor()
        {
            var builder = new ActivityProcessorPipelineBuilder();

            bool processorFactoryCalled = false;
            var  processor = new TestProcessor();

            builder.SetExportingProcessor(e =>
            {
                processorFactoryCalled = true;
                Assert.Null(e);
                return(processor);
            });

            Assert.Same(processor, builder.Build());

            Assert.Single(builder.Processors);
            Assert.True(processorFactoryCalled);
            Assert.Same(processor, builder.Processors.Single());
        }
        public void PipelineBuilder_AddExporterAndExportingProcessor()
        {
            var builder = new ActivityProcessorPipelineBuilder();

            var exporter = new TestActivityExporter(null);

            builder.SetExporter(exporter);

            bool processorFactoryCalled = false;

            builder.SetExportingProcessor(e =>
            {
                processorFactoryCalled = true;
                return(new SimpleActivityProcessor(e));
            });

            var processor = builder.Build();

            Assert.Single(builder.Processors);
            Assert.True(processorFactoryCalled);
            Assert.IsType <SimpleActivityProcessor>(builder.Processors.Single());
            Assert.Same(processor, builder.Processors[0]);
        }