### Question:
TracingBehaviour implements FixtureBehaviour { @Override public SpecimenBuilder transform(SpecimenBuilder builder) { if (builder == null) { throw new IllegalArgumentException("builder"); } return new SpecimenTracer(builder, this.strategy, this.traceWriter); } TracingBehaviour(TracingStrategy strategy, Appendable traceWriter); @Override SpecimenBuilder transform(SpecimenBuilder builder);  }### Answer:
@Test(expected = IllegalArgumentException.class) public void null_builder_throws_exception() { this.behaviour.transform(null); }
@Test public void transform_returns_specimen_tracer() { SpecimenBuilder transformed = this.behaviour.transform(this.mockSpecimenBuilder); assertTrue(transformed instanceof SpecimenTracer); }
@Test public void transform_returns_specimen_tracer_with_correct_appendable() { SpecimenTracer tracer = (SpecimenTracer) this.behaviour.transform(this.mockSpecimenBuilder); assertSame(this.mockAppendable, tracer.getTraceWriter()); }