ChainedMetricDimensionConfigurator instance = new ChainedMetricDimensionConfigurator(first, second); BuilderTagger finalResult = instance.setupMetricWithDimensions( origBuilderMock, requestInfoMock, responseInfoMock, httpStateMock, responseStatusCode, responseStatusCodeXXValue, elapsedTimeMillis, endpointMock, endpointClass, method, matchingPathTemplate
/** * This method allows you to chain multiple {@link MetricDimensionConfigurator}s together into a single * instance. This instance's {@code setupMetricWithDimensions(...)} will be executed before the passed-in * argument's {@code setupMetricWithDimensions(...)}. See {@link ChainedMetricDimensionConfigurator} for more * details. Note that a new object will be created and returned - this instance and the passed-in instance * are not modified. * * @param chainMe The {@link MetricDimensionConfigurator} that should be chained after this one. * @return A new {@link ChainedMetricDimensionConfigurator} that will chain this instance with the given * argument. */ default MetricDimensionConfigurator<T> chainedWith(MetricDimensionConfigurator<T> chainMe) { return new ChainedMetricDimensionConfigurator<>(this, chainMe); }
@Test public void ChainedMetricDimensionConfigurator_constructor_sets_fields_as_expected() { // given MetricDimensionConfigurator first = mock(MetricDimensionConfigurator.class); MetricDimensionConfigurator second = mock(MetricDimensionConfigurator.class); // when ChainedMetricDimensionConfigurator instance = new ChainedMetricDimensionConfigurator(first, second); // then assertThat(instance.firstConfigurator).isSameAs(first); assertThat(instance.secondConfigurator).isSameAs(second); }