### Question:
DefaultTracer implements Tracer { @Override public Span.Builder spanBuilder(String spanName) { return NoopSpanBuilder.create(spanName); } private  DefaultTracer(); static Tracer getInstance(); @Override Span getCurrentSpan(); @Override Scope withSpan(Span span); @Override Span.Builder spanBuilder(String spanName);  }### Answer:
@Test void spanBuilderWithName_NullName() { assertThrows(NullPointerException.class, () -> defaultTracer.spanBuilder(null)); }
@Test void defaultSpanBuilderWithName() { assertThat(defaultTracer.spanBuilder(SPAN_NAME).startSpan()).isInstanceOf(DefaultSpan.class); }
@Test void noSpanContextMakesInvalidSpans() { Span span = defaultTracer.spanBuilder(SPAN_NAME).startSpan(); assertThat(span.getContext()).isSameAs(SpanContext.getInvalid()); }
@Test void testSpanContextPropagation_nullContext() { assertThrows( NullPointerException.class, () -> defaultTracer.spanBuilder(SPAN_NAME).setParent((Context) null)); }