From 6253aee3b3ae58309e328dcc1816dbbdba86f35f Mon Sep 17 00:00:00 2001 From: Thomas Poignant Date: Mon, 17 Jul 2023 16:52:00 +0200 Subject: [PATCH] fix: Implement equals for the ImmutableMetadata object (#512) --- .../openfeature/sdk/ImmutableMetadata.java | 2 ++ .../sdk/FlagEvaluationDetailsTest.java | 22 +++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/src/main/java/dev/openfeature/sdk/ImmutableMetadata.java b/src/main/java/dev/openfeature/sdk/ImmutableMetadata.java index 1bc130b4..75f89847 100644 --- a/src/main/java/dev/openfeature/sdk/ImmutableMetadata.java +++ b/src/main/java/dev/openfeature/sdk/ImmutableMetadata.java @@ -1,5 +1,6 @@ package dev.openfeature.sdk; +import lombok.EqualsAndHashCode; import lombok.extern.slf4j.Slf4j; import java.util.HashMap; @@ -10,6 +11,7 @@ import java.util.Map; * through builder and accessors. */ @Slf4j +@EqualsAndHashCode public class ImmutableMetadata { private final Map metadata; diff --git a/src/test/java/dev/openfeature/sdk/FlagEvaluationDetailsTest.java b/src/test/java/dev/openfeature/sdk/FlagEvaluationDetailsTest.java index 9a6df1a6..dfa77274 100644 --- a/src/test/java/dev/openfeature/sdk/FlagEvaluationDetailsTest.java +++ b/src/test/java/dev/openfeature/sdk/FlagEvaluationDetailsTest.java @@ -45,4 +45,26 @@ class FlagEvaluationDetailsTest { assertEquals(errorMessage, details.getErrorMessage()); assertEquals(metadata, details.getFlagMetadata()); } + + @Test + @DisplayName("should be able to compare 2 FlagEvaluationDetails") + public void compareFlagEvaluationDetails(){ + FlagEvaluationDetails fed1 = FlagEvaluationDetails.builder() + .reason(Reason.ERROR.toString()) + .value(false) + .errorCode(ErrorCode.GENERAL) + .errorMessage("error XXX") + .flagMetadata(ImmutableMetadata.builder().addString("metadata","1").build()) + .build(); + + FlagEvaluationDetails fed2 = FlagEvaluationDetails.builder() + .reason(Reason.ERROR.toString()) + .value(false) + .errorCode(ErrorCode.GENERAL) + .errorMessage("error XXX") + .flagMetadata(ImmutableMetadata.builder().addString("metadata","1").build()) + .build(); + + assertEquals(fed1,fed2); + } }