### Question:
DefaultMeter implements Meter { public static Meter getInstance() { return INSTANCE; } private  DefaultMeter(); static Meter getInstance(); @Override DoubleCounter.Builder doubleCounterBuilder(String name); @Override LongCounter.Builder longCounterBuilder(String name); @Override DoubleUpDownCounter.Builder doubleUpDownCounterBuilder(String name); @Override LongUpDownCounter.Builder longUpDownCounterBuilder(String name); @Override DoubleValueRecorder.Builder doubleValueRecorderBuilder(String name); @Override LongValueRecorder.Builder longValueRecorderBuilder(String name); @Override DoubleSumObserver.Builder doubleSumObserverBuilder(String name); @Override LongSumObserver.Builder longSumObserverBuilder(String name); @Override DoubleUpDownSumObserver.Builder doubleUpDownSumObserverBuilder(String name); @Override LongUpDownSumObserver.Builder longUpDownSumObserverBuilder(String name); @Override DoubleValueObserver.Builder doubleValueObserverBuilder(String name); @Override LongValueObserver.Builder longValueObserverBuilder(String name); @Override BatchRecorder newBatchRecorder(String... keyValuePairs);  }### Answer:
@Test void expectDefaultMeter() { assertThat(OpenTelemetry.getMeterProvider()).isInstanceOf(DefaultMeterProvider.class); assertThat(OpenTelemetry.getMeter("test")).isInstanceOf(DefaultMeter.class); assertThat(OpenTelemetry.getMeter("test")).isSameAs(DefaultMeter.getInstance()); assertThat(OpenTelemetry.getMeter("test", "0.1.0")).isSameAs(DefaultMeter.getInstance()); }
@Test void expectDefaultMeterProvider() { assertThat(OpenTelemetry.getMeterProvider()).isSameAs(DefaultMeterProvider.getInstance()); assertThat(OpenTelemetry.getMeterProvider().get("test")).isInstanceOf(DefaultMeter.class); assertThat(OpenTelemetry.getMeterProvider().get("test", "0.1.0")) .isInstanceOf(DefaultMeter.class); }