Skip to content

Commit 6253aee

Browse files
fix: Implement equals for the ImmutableMetadata object (#512)
1 parent bbb4008 commit 6253aee

File tree

2 files changed

+24
-0
lines changed

2 files changed

+24
-0
lines changed

Diff for: src/main/java/dev/openfeature/sdk/ImmutableMetadata.java

+2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package dev.openfeature.sdk;
22

3+
import lombok.EqualsAndHashCode;
34
import lombok.extern.slf4j.Slf4j;
45

56
import java.util.HashMap;
@@ -10,6 +11,7 @@
1011
* through builder and accessors.
1112
*/
1213
@Slf4j
14+
@EqualsAndHashCode
1315
public class ImmutableMetadata {
1416
private final Map<String, Object> metadata;
1517

Diff for: src/test/java/dev/openfeature/sdk/FlagEvaluationDetailsTest.java

+22
Original file line numberDiff line numberDiff line change
@@ -45,4 +45,26 @@ public void sevenArgConstructor() {
4545
assertEquals(errorMessage, details.getErrorMessage());
4646
assertEquals(metadata, details.getFlagMetadata());
4747
}
48+
49+
@Test
50+
@DisplayName("should be able to compare 2 FlagEvaluationDetails")
51+
public void compareFlagEvaluationDetails(){
52+
FlagEvaluationDetails fed1 = FlagEvaluationDetails.builder()
53+
.reason(Reason.ERROR.toString())
54+
.value(false)
55+
.errorCode(ErrorCode.GENERAL)
56+
.errorMessage("error XXX")
57+
.flagMetadata(ImmutableMetadata.builder().addString("metadata","1").build())
58+
.build();
59+
60+
FlagEvaluationDetails fed2 = FlagEvaluationDetails.builder()
61+
.reason(Reason.ERROR.toString())
62+
.value(false)
63+
.errorCode(ErrorCode.GENERAL)
64+
.errorMessage("error XXX")
65+
.flagMetadata(ImmutableMetadata.builder().addString("metadata","1").build())
66+
.build();
67+
68+
assertEquals(fed1,fed2);
69+
}
4870
}

0 commit comments

Comments
 (0)