public void TransformNullBuilderThrows()
 {
     // Fixture setup
     var sut = new TracingBehavior();
     // Exercise system and verify outcome
     Assert.Throws<ArgumentNullException>(() =>
         sut.Transform(null));
     // Teardown
 }
 public void SutIsSpecimenBuilderTransformation()
 {
     // Fixture setup
     // Exercise system
     var sut = new TracingBehavior();
     // Verify outcome
     Assert.IsAssignableFrom<ISpecimenBuilderTransformation>(sut);
     // Teardown
 }
 public void WriterIsCorrectWhenDefaultConstructorIsUsed()
 {
     // Fixture setup
     var sut = new TracingBehavior();
     // Exercise system
     var result = sut.Writer;
     // Verify outcome
     Assert.Equal(Console.Out, result);
     // Teardown
 }
 public void WriterIsCorrectWhenExplicitlyProvided()
 {
     // Fixture setup
     var expectedWriter = new StringWriter();
     var sut = new TracingBehavior(expectedWriter);
     // Exercise system
     TextWriter result = sut.Writer;
     // Verify outcome
     Assert.Equal(expectedWriter, result);
     // Teardown
 }
 public void TransformReturnsCorrectResult()
 {
     // Fixture setup
     var sut = new TracingBehavior();
     var builder = new DelegatingSpecimenBuilder();
     // Exercise system
     var result = sut.Transform(builder);
     // Verify outcome
     var tw = Assert.IsAssignableFrom<TraceWriter>(result);
     Assert.Equal(builder, tw.Tracer.Builder);
     // Teardown
 }