|
7 | 7 |
|
8 | 8 | import static org.assertj.core.api.Assertions.assertThat; |
9 | 9 |
|
| 10 | +import io.opentelemetry.api.common.Attributes; |
10 | 11 | import io.opentelemetry.sdk.common.InstrumentationScopeInfo; |
11 | 12 | import io.opentelemetry.sdk.metrics.internal.data.ImmutableSummaryData; |
12 | 13 | import io.opentelemetry.sdk.resources.Resource; |
@@ -53,6 +54,78 @@ void equals_sameInstance() { |
53 | 54 | assertThat(noOpWrapper.equals(noOpWrapper)).isTrue(); |
54 | 55 | } |
55 | 56 |
|
| 57 | + @Test |
| 58 | + void equals_differentResource() { |
| 59 | + MetricData metricData1 = createBasicMetricBuilder().setResource(Resource.create( |
| 60 | + Attributes.builder().put("key", "value1").build())).build(); |
| 61 | + MetricData metricData2 = createBasicMetricBuilder().setResource(Resource.create(Attributes.builder().put("key", "value2").build())).build(); |
| 62 | + MetricData noOpWrapper1 = new NoOpDelegatingMetricData(metricData1); |
| 63 | + MetricData noOpWrapper2 = new NoOpDelegatingMetricData(metricData2); |
| 64 | + |
| 65 | + assertThat(noOpWrapper1).isNotEqualTo(noOpWrapper2); |
| 66 | + } |
| 67 | + |
| 68 | + @Test |
| 69 | + void equals_differentInstrumentationScopeInfo() { |
| 70 | + MetricData metricData1 = createBasicMetricBuilder().setInstrumentationScopeInfo(InstrumentationScopeInfo.create("scope1")).build(); |
| 71 | + MetricData metricData2 = createBasicMetricBuilder().setInstrumentationScopeInfo(InstrumentationScopeInfo.create("scope2")).build(); |
| 72 | + MetricData noOpWrapper1 = new NoOpDelegatingMetricData(metricData1); |
| 73 | + MetricData noOpWrapper2 = new NoOpDelegatingMetricData(metricData2); |
| 74 | + |
| 75 | + assertThat(noOpWrapper1).isNotEqualTo(noOpWrapper2); |
| 76 | + } |
| 77 | + |
| 78 | + @Test |
| 79 | + void equals_differentName() { |
| 80 | + MetricData metricData1 = createBasicMetricBuilder().setName("name1").build(); |
| 81 | + MetricData metricData2 = createBasicMetricBuilder().setName("name2").build(); |
| 82 | + MetricData noOpWrapper1 = new NoOpDelegatingMetricData(metricData1); |
| 83 | + MetricData noOpWrapper2 = new NoOpDelegatingMetricData(metricData2); |
| 84 | + |
| 85 | + assertThat(noOpWrapper1).isNotEqualTo(noOpWrapper2); |
| 86 | + } |
| 87 | + |
| 88 | + @Test |
| 89 | + void equals_differentUnit() { |
| 90 | + MetricData metricData1 = createBasicMetricBuilder().setUnit("unit1").build(); |
| 91 | + MetricData metricData2 = createBasicMetricBuilder().setUnit("unit2").build(); |
| 92 | + MetricData noOpWrapper1 = new NoOpDelegatingMetricData(metricData1); |
| 93 | + MetricData noOpWrapper2 = new NoOpDelegatingMetricData(metricData2); |
| 94 | + |
| 95 | + assertThat(noOpWrapper1).isNotEqualTo(noOpWrapper2); |
| 96 | + } |
| 97 | + |
| 98 | + @Test |
| 99 | + void equals_differentType() { |
| 100 | + MetricData metricData1 = createBasicMetricBuilder().setType(MetricDataType.SUMMARY).build(); |
| 101 | + MetricData metricData2 = createBasicMetricBuilder().setType(MetricDataType.LONG_SUM).build(); |
| 102 | + MetricData noOpWrapper1 = new NoOpDelegatingMetricData(metricData1); |
| 103 | + MetricData noOpWrapper2 = new NoOpDelegatingMetricData(metricData2); |
| 104 | + |
| 105 | + assertThat(noOpWrapper1).isNotEqualTo(noOpWrapper2); |
| 106 | + } |
| 107 | + |
| 108 | + @Test |
| 109 | + void equals_differentData() { |
| 110 | + MetricData metricData1 = createBasicMetricBuilder().setData(ImmutableSummaryData.empty()).build(); |
| 111 | + MetricData metricData2 = createBasicMetricBuilder().setData(ImmutableSummaryData.empty()).build(); |
| 112 | + MetricData noOpWrapper1 = new NoOpDelegatingMetricData(metricData1); |
| 113 | + MetricData noOpWrapper2 = new NoOpDelegatingMetricData(metricData2); |
| 114 | + |
| 115 | + assertThat(noOpWrapper1).isEqualTo(noOpWrapper2); |
| 116 | + } |
| 117 | + |
| 118 | + @Test |
| 119 | + void equals_nonMetricDataObject_returnsFalse() { |
| 120 | + MetricData metricData = createBasicMetricBuilder().build(); |
| 121 | + MetricData noOpWrapper = new NoOpDelegatingMetricData(metricData); |
| 122 | + |
| 123 | + // Compare with a String object (non-MetricData) |
| 124 | + Object nonMetricData = "not a metric data"; |
| 125 | + |
| 126 | + assertThat(noOpWrapper.equals(nonMetricData)).isFalse(); |
| 127 | + } |
| 128 | + |
56 | 129 | @Test |
57 | 130 | void testToString() { |
58 | 131 | MetricData metricData = createBasicMetricBuilder().build(); |
|
0 commit comments