From 380415b382a5201d8e5f6d7857da9a3820d9597b Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 27 Oct 2025 17:12:03 +0000 Subject: [PATCH 1/4] Initial plan From bd7f935d63beafa23e7aa6d8a429daf48e7cda16 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 27 Oct 2025 17:16:51 +0000 Subject: [PATCH 2/4] Add 12 IN operator edge cases for int/float type matching Co-authored-by: khvn26 <979078+khvn26@users.noreply.github.com> --- ...comma_delimited_floats__should_match.jsonc | 45 +++++++++++++++++ ...mma_delimited_ints__should_not_match.jsonc | 41 +++++++++++++++ ...at_context_float_array__should_match.jsonc | 50 +++++++++++++++++++ ..._context_int_array__should_not_match.jsonc | 46 +++++++++++++++++ ...xt_json_encoded_floats__should_match.jsonc | 45 +++++++++++++++++ ..._json_encoded_ints__should_not_match.jsonc | 41 +++++++++++++++ ...a_delimited_floats__should_not_match.jsonc | 41 +++++++++++++++ ...t_comma_delimited_ints__should_match.jsonc | 45 +++++++++++++++++ ...ontext_float_array__should_not_match.jsonc | 46 +++++++++++++++++ ..._int_context_int_array__should_match.jsonc | 50 +++++++++++++++++++ ...son_encoded_floats__should_not_match.jsonc | 41 +++++++++++++++ ...text_json_encoded_ints__should_match.jsonc | 45 +++++++++++++++++ 12 files changed, 536 insertions(+) create mode 100644 test_cases/test_in_condition_float_context_comma_delimited_floats__should_match.jsonc create mode 100644 test_cases/test_in_condition_float_context_comma_delimited_ints__should_not_match.jsonc create mode 100644 test_cases/test_in_condition_float_context_float_array__should_match.jsonc create mode 100644 test_cases/test_in_condition_float_context_int_array__should_not_match.jsonc create mode 100644 test_cases/test_in_condition_float_context_json_encoded_floats__should_match.jsonc create mode 100644 test_cases/test_in_condition_float_context_json_encoded_ints__should_not_match.jsonc create mode 100644 test_cases/test_in_condition_int_context_comma_delimited_floats__should_not_match.jsonc create mode 100644 test_cases/test_in_condition_int_context_comma_delimited_ints__should_match.jsonc create mode 100644 test_cases/test_in_condition_int_context_float_array__should_not_match.jsonc create mode 100644 test_cases/test_in_condition_int_context_int_array__should_match.jsonc create mode 100644 test_cases/test_in_condition_int_context_json_encoded_floats__should_not_match.jsonc create mode 100644 test_cases/test_in_condition_int_context_json_encoded_ints__should_match.jsonc diff --git a/test_cases/test_in_condition_float_context_comma_delimited_floats__should_match.jsonc b/test_cases/test_in_condition_float_context_comma_delimited_floats__should_match.jsonc new file mode 100644 index 0000000..b581868 --- /dev/null +++ b/test_cases/test_in_condition_float_context_comma_delimited_floats__should_match.jsonc @@ -0,0 +1,45 @@ +{ + // Given: A segment with IN condition using comma-delimited floats + // When: An evaluation context with an identity that has a float trait matching one of the comma-delimited float values + // Then: The context should be considered part of the segment + "$schema": "https://raw.githubusercontent.com/Flagsmith/engine-test-data/refs/tags/v2.0.0/schema.json", + "context": { + "environment": { + "key": "key", + "name": "Environment" + }, + "identity": { + "identifier": "float_comma_delim_user", + "key": "key_float_comma_delim_user", + "traits": { + "score": 2.5 + } + }, + "segments": { + "34": { + "key": "34", + "name": "segment_float_comma_delimited", + "rules": [ + { + "type": "ALL", + "conditions": [ + { + "operator": "IN", + "property": "score", + "value": "1.5,2.5,3.5,4.5" + } + ] + } + ] + } + } + }, + "result": { + "flags": {}, + "segments": [ + { + "name": "segment_float_comma_delimited" + } + ] + } +} diff --git a/test_cases/test_in_condition_float_context_comma_delimited_ints__should_not_match.jsonc b/test_cases/test_in_condition_float_context_comma_delimited_ints__should_not_match.jsonc new file mode 100644 index 0000000..5a89396 --- /dev/null +++ b/test_cases/test_in_condition_float_context_comma_delimited_ints__should_not_match.jsonc @@ -0,0 +1,41 @@ +{ + // Given: A segment with IN condition using comma-delimited integers + // When: An evaluation context with an identity that has a float trait that does not match any of the comma-delimited integer values + // Then: The context should not be considered part of the segment + "$schema": "https://raw.githubusercontent.com/Flagsmith/engine-test-data/refs/tags/v2.0.0/schema.json", + "context": { + "environment": { + "key": "key", + "name": "Environment" + }, + "identity": { + "identifier": "float_comma_delim_int_user", + "key": "key_float_comma_delim_int_user", + "traits": { + "score": 2.5 + } + }, + "segments": { + "36": { + "key": "36", + "name": "segment_float_comma_delimited_int_mismatch", + "rules": [ + { + "type": "ALL", + "conditions": [ + { + "operator": "IN", + "property": "score", + "value": "1,2,3,4" + } + ] + } + ] + } + } + }, + "result": { + "flags": {}, + "segments": [] + } +} diff --git a/test_cases/test_in_condition_float_context_float_array__should_match.jsonc b/test_cases/test_in_condition_float_context_float_array__should_match.jsonc new file mode 100644 index 0000000..e0bd3f2 --- /dev/null +++ b/test_cases/test_in_condition_float_context_float_array__should_match.jsonc @@ -0,0 +1,50 @@ +{ + // Given: A segment with IN condition using an array of floats + // When: An evaluation context with an identity that has a float trait matching one of the array values + // Then: The context should be considered part of the segment + "$schema": "https://raw.githubusercontent.com/Flagsmith/engine-test-data/refs/tags/v2.0.0/schema.json", + "context": { + "environment": { + "key": "key", + "name": "Environment" + }, + "identity": { + "identifier": "float_array_user", + "key": "key_float_array_user", + "traits": { + "score": 2.5 + } + }, + "segments": { + "30": { + "key": "30", + "name": "segment_float_array", + "rules": [ + { + "type": "ALL", + "conditions": [ + { + "operator": "IN", + "property": "score", + "value": [ + 1.5, + 2.5, + 3.5, + 4.5 + ] + } + ] + } + ] + } + } + }, + "result": { + "flags": {}, + "segments": [ + { + "name": "segment_float_array" + } + ] + } +} diff --git a/test_cases/test_in_condition_float_context_int_array__should_not_match.jsonc b/test_cases/test_in_condition_float_context_int_array__should_not_match.jsonc new file mode 100644 index 0000000..a04b735 --- /dev/null +++ b/test_cases/test_in_condition_float_context_int_array__should_not_match.jsonc @@ -0,0 +1,46 @@ +{ + // Given: A segment with IN condition using an array of integers + // When: An evaluation context with an identity that has a float trait that does not match any of the integer array values + // Then: The context should not be considered part of the segment + "$schema": "https://raw.githubusercontent.com/Flagsmith/engine-test-data/refs/tags/v2.0.0/schema.json", + "context": { + "environment": { + "key": "key", + "name": "Environment" + }, + "identity": { + "identifier": "float_int_array_user", + "key": "key_float_int_array_user", + "traits": { + "score": 2.5 + } + }, + "segments": { + "32": { + "key": "32", + "name": "segment_float_int_array_mismatch", + "rules": [ + { + "type": "ALL", + "conditions": [ + { + "operator": "IN", + "property": "score", + "value": [ + 1, + 2, + 3, + 4 + ] + } + ] + } + ] + } + } + }, + "result": { + "flags": {}, + "segments": [] + } +} diff --git a/test_cases/test_in_condition_float_context_json_encoded_floats__should_match.jsonc b/test_cases/test_in_condition_float_context_json_encoded_floats__should_match.jsonc new file mode 100644 index 0000000..a839c23 --- /dev/null +++ b/test_cases/test_in_condition_float_context_json_encoded_floats__should_match.jsonc @@ -0,0 +1,45 @@ +{ + // Given: A segment with IN condition using JSON-encoded array of floats + // When: An evaluation context with an identity that has a float trait matching one of the JSON-encoded float values + // Then: The context should be considered part of the segment + "$schema": "https://raw.githubusercontent.com/Flagsmith/engine-test-data/refs/tags/v2.0.0/schema.json", + "context": { + "environment": { + "key": "key", + "name": "Environment" + }, + "identity": { + "identifier": "float_json_array_user", + "key": "key_float_json_array_user", + "traits": { + "score": 2.5 + } + }, + "segments": { + "38": { + "key": "38", + "name": "segment_float_json_encoded", + "rules": [ + { + "type": "ALL", + "conditions": [ + { + "operator": "IN", + "property": "score", + "value": "[1.5,2.5,3.5,4.5]" + } + ] + } + ] + } + } + }, + "result": { + "flags": {}, + "segments": [ + { + "name": "segment_float_json_encoded" + } + ] + } +} diff --git a/test_cases/test_in_condition_float_context_json_encoded_ints__should_not_match.jsonc b/test_cases/test_in_condition_float_context_json_encoded_ints__should_not_match.jsonc new file mode 100644 index 0000000..bb1917b --- /dev/null +++ b/test_cases/test_in_condition_float_context_json_encoded_ints__should_not_match.jsonc @@ -0,0 +1,41 @@ +{ + // Given: A segment with IN condition using JSON-encoded array of integers + // When: An evaluation context with an identity that has a float trait that does not match any of the JSON-encoded integer values + // Then: The context should not be considered part of the segment + "$schema": "https://raw.githubusercontent.com/Flagsmith/engine-test-data/refs/tags/v2.0.0/schema.json", + "context": { + "environment": { + "key": "key", + "name": "Environment" + }, + "identity": { + "identifier": "float_json_int_array_user", + "key": "key_float_json_int_array_user", + "traits": { + "score": 2.5 + } + }, + "segments": { + "40": { + "key": "40", + "name": "segment_float_json_encoded_int_mismatch", + "rules": [ + { + "type": "ALL", + "conditions": [ + { + "operator": "IN", + "property": "score", + "value": "[1,2,3,4]" + } + ] + } + ] + } + } + }, + "result": { + "flags": {}, + "segments": [] + } +} diff --git a/test_cases/test_in_condition_int_context_comma_delimited_floats__should_not_match.jsonc b/test_cases/test_in_condition_int_context_comma_delimited_floats__should_not_match.jsonc new file mode 100644 index 0000000..d5b64dd --- /dev/null +++ b/test_cases/test_in_condition_int_context_comma_delimited_floats__should_not_match.jsonc @@ -0,0 +1,41 @@ +{ + // Given: A segment with IN condition using comma-delimited floats + // When: An evaluation context with an identity that has an integer trait that does not match any of the comma-delimited float values + // Then: The context should not be considered part of the segment + "$schema": "https://raw.githubusercontent.com/Flagsmith/engine-test-data/refs/tags/v2.0.0/schema.json", + "context": { + "environment": { + "key": "key", + "name": "Environment" + }, + "identity": { + "identifier": "int_comma_delim_float_user", + "key": "key_int_comma_delim_float_user", + "traits": { + "level": 2 + } + }, + "segments": { + "37": { + "key": "37", + "name": "segment_int_comma_delimited_float_mismatch", + "rules": [ + { + "type": "ALL", + "conditions": [ + { + "operator": "IN", + "property": "level", + "value": "1.5,2.5,3.5,4.5" + } + ] + } + ] + } + } + }, + "result": { + "flags": {}, + "segments": [] + } +} diff --git a/test_cases/test_in_condition_int_context_comma_delimited_ints__should_match.jsonc b/test_cases/test_in_condition_int_context_comma_delimited_ints__should_match.jsonc new file mode 100644 index 0000000..87ed357 --- /dev/null +++ b/test_cases/test_in_condition_int_context_comma_delimited_ints__should_match.jsonc @@ -0,0 +1,45 @@ +{ + // Given: A segment with IN condition using comma-delimited integers + // When: An evaluation context with an identity that has an integer trait matching one of the comma-delimited integer values + // Then: The context should be considered part of the segment + "$schema": "https://raw.githubusercontent.com/Flagsmith/engine-test-data/refs/tags/v2.0.0/schema.json", + "context": { + "environment": { + "key": "key", + "name": "Environment" + }, + "identity": { + "identifier": "int_comma_delim_user", + "key": "key_int_comma_delim_user", + "traits": { + "level": 2 + } + }, + "segments": { + "35": { + "key": "35", + "name": "segment_int_comma_delimited", + "rules": [ + { + "type": "ALL", + "conditions": [ + { + "operator": "IN", + "property": "level", + "value": "1,2,3,4" + } + ] + } + ] + } + } + }, + "result": { + "flags": {}, + "segments": [ + { + "name": "segment_int_comma_delimited" + } + ] + } +} diff --git a/test_cases/test_in_condition_int_context_float_array__should_not_match.jsonc b/test_cases/test_in_condition_int_context_float_array__should_not_match.jsonc new file mode 100644 index 0000000..2aa4c4a --- /dev/null +++ b/test_cases/test_in_condition_int_context_float_array__should_not_match.jsonc @@ -0,0 +1,46 @@ +{ + // Given: A segment with IN condition using an array of floats + // When: An evaluation context with an identity that has an integer trait that does not match any of the float array values + // Then: The context should not be considered part of the segment + "$schema": "https://raw.githubusercontent.com/Flagsmith/engine-test-data/refs/tags/v2.0.0/schema.json", + "context": { + "environment": { + "key": "key", + "name": "Environment" + }, + "identity": { + "identifier": "int_float_array_user", + "key": "key_int_float_array_user", + "traits": { + "level": 2 + } + }, + "segments": { + "33": { + "key": "33", + "name": "segment_int_float_array_mismatch", + "rules": [ + { + "type": "ALL", + "conditions": [ + { + "operator": "IN", + "property": "level", + "value": [ + 1.5, + 2.5, + 3.5, + 4.5 + ] + } + ] + } + ] + } + } + }, + "result": { + "flags": {}, + "segments": [] + } +} diff --git a/test_cases/test_in_condition_int_context_int_array__should_match.jsonc b/test_cases/test_in_condition_int_context_int_array__should_match.jsonc new file mode 100644 index 0000000..c369f01 --- /dev/null +++ b/test_cases/test_in_condition_int_context_int_array__should_match.jsonc @@ -0,0 +1,50 @@ +{ + // Given: A segment with IN condition using an array of integers + // When: An evaluation context with an identity that has an integer trait matching one of the array values + // Then: The context should be considered part of the segment + "$schema": "https://raw.githubusercontent.com/Flagsmith/engine-test-data/refs/tags/v2.0.0/schema.json", + "context": { + "environment": { + "key": "key", + "name": "Environment" + }, + "identity": { + "identifier": "int_array_user", + "key": "key_int_array_user", + "traits": { + "level": 2 + } + }, + "segments": { + "31": { + "key": "31", + "name": "segment_int_array", + "rules": [ + { + "type": "ALL", + "conditions": [ + { + "operator": "IN", + "property": "level", + "value": [ + 1, + 2, + 3, + 4 + ] + } + ] + } + ] + } + } + }, + "result": { + "flags": {}, + "segments": [ + { + "name": "segment_int_array" + } + ] + } +} diff --git a/test_cases/test_in_condition_int_context_json_encoded_floats__should_not_match.jsonc b/test_cases/test_in_condition_int_context_json_encoded_floats__should_not_match.jsonc new file mode 100644 index 0000000..f7a85b2 --- /dev/null +++ b/test_cases/test_in_condition_int_context_json_encoded_floats__should_not_match.jsonc @@ -0,0 +1,41 @@ +{ + // Given: A segment with IN condition using JSON-encoded array of floats + // When: An evaluation context with an identity that has an integer trait that does not match any of the JSON-encoded float values + // Then: The context should not be considered part of the segment + "$schema": "https://raw.githubusercontent.com/Flagsmith/engine-test-data/refs/tags/v2.0.0/schema.json", + "context": { + "environment": { + "key": "key", + "name": "Environment" + }, + "identity": { + "identifier": "int_json_float_array_user", + "key": "key_int_json_float_array_user", + "traits": { + "level": 2 + } + }, + "segments": { + "41": { + "key": "41", + "name": "segment_int_json_encoded_float_mismatch", + "rules": [ + { + "type": "ALL", + "conditions": [ + { + "operator": "IN", + "property": "level", + "value": "[1.5,2.5,3.5,4.5]" + } + ] + } + ] + } + } + }, + "result": { + "flags": {}, + "segments": [] + } +} diff --git a/test_cases/test_in_condition_int_context_json_encoded_ints__should_match.jsonc b/test_cases/test_in_condition_int_context_json_encoded_ints__should_match.jsonc new file mode 100644 index 0000000..b02d3e0 --- /dev/null +++ b/test_cases/test_in_condition_int_context_json_encoded_ints__should_match.jsonc @@ -0,0 +1,45 @@ +{ + // Given: A segment with IN condition using JSON-encoded array of integers + // When: An evaluation context with an identity that has an integer trait matching one of the JSON-encoded integer values + // Then: The context should be considered part of the segment + "$schema": "https://raw.githubusercontent.com/Flagsmith/engine-test-data/refs/tags/v2.0.0/schema.json", + "context": { + "environment": { + "key": "key", + "name": "Environment" + }, + "identity": { + "identifier": "int_json_array_user", + "key": "key_int_json_array_user", + "traits": { + "level": 2 + } + }, + "segments": { + "39": { + "key": "39", + "name": "segment_int_json_encoded", + "rules": [ + { + "type": "ALL", + "conditions": [ + { + "operator": "IN", + "property": "level", + "value": "[1,2,3,4]" + } + ] + } + ] + } + } + }, + "result": { + "flags": {}, + "segments": [ + { + "name": "segment_int_json_encoded" + } + ] + } +} From 2abf80b204b97ace9111bb6627d51a97a3d1c306 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 27 Oct 2025 17:28:39 +0000 Subject: [PATCH 3/4] Use ambiguous float values (2.0 vs 2) instead of distinct values (2.5 vs 2) Co-authored-by: khvn26 <979078+khvn26@users.noreply.github.com> --- ..._context_comma_delimited_floats__should_match.jsonc | 4 ++-- ...ontext_comma_delimited_ints__should_not_match.jsonc | 2 +- ...ition_float_context_float_array__should_match.jsonc | 10 +++++----- ...ion_float_context_int_array__should_not_match.jsonc | 2 +- ...oat_context_json_encoded_floats__should_match.jsonc | 4 ++-- ...t_context_json_encoded_ints__should_not_match.jsonc | 2 +- ...text_comma_delimited_floats__should_not_match.jsonc | 2 +- ...ion_int_context_float_array__should_not_match.jsonc | 8 ++++---- ...context_json_encoded_floats__should_not_match.jsonc | 2 +- 9 files changed, 18 insertions(+), 18 deletions(-) diff --git a/test_cases/test_in_condition_float_context_comma_delimited_floats__should_match.jsonc b/test_cases/test_in_condition_float_context_comma_delimited_floats__should_match.jsonc index b581868..962b07a 100644 --- a/test_cases/test_in_condition_float_context_comma_delimited_floats__should_match.jsonc +++ b/test_cases/test_in_condition_float_context_comma_delimited_floats__should_match.jsonc @@ -12,7 +12,7 @@ "identifier": "float_comma_delim_user", "key": "key_float_comma_delim_user", "traits": { - "score": 2.5 + "score": 2.0 } }, "segments": { @@ -26,7 +26,7 @@ { "operator": "IN", "property": "score", - "value": "1.5,2.5,3.5,4.5" + "value": "1.0,2.0,3.0,4.0" } ] } diff --git a/test_cases/test_in_condition_float_context_comma_delimited_ints__should_not_match.jsonc b/test_cases/test_in_condition_float_context_comma_delimited_ints__should_not_match.jsonc index 5a89396..f9719e4 100644 --- a/test_cases/test_in_condition_float_context_comma_delimited_ints__should_not_match.jsonc +++ b/test_cases/test_in_condition_float_context_comma_delimited_ints__should_not_match.jsonc @@ -12,7 +12,7 @@ "identifier": "float_comma_delim_int_user", "key": "key_float_comma_delim_int_user", "traits": { - "score": 2.5 + "score": 2.0 } }, "segments": { diff --git a/test_cases/test_in_condition_float_context_float_array__should_match.jsonc b/test_cases/test_in_condition_float_context_float_array__should_match.jsonc index e0bd3f2..354ee84 100644 --- a/test_cases/test_in_condition_float_context_float_array__should_match.jsonc +++ b/test_cases/test_in_condition_float_context_float_array__should_match.jsonc @@ -12,7 +12,7 @@ "identifier": "float_array_user", "key": "key_float_array_user", "traits": { - "score": 2.5 + "score": 2.0 } }, "segments": { @@ -27,10 +27,10 @@ "operator": "IN", "property": "score", "value": [ - 1.5, - 2.5, - 3.5, - 4.5 + 1.0, + 2.0, + 3.0, + 4.0 ] } ] diff --git a/test_cases/test_in_condition_float_context_int_array__should_not_match.jsonc b/test_cases/test_in_condition_float_context_int_array__should_not_match.jsonc index a04b735..13251e4 100644 --- a/test_cases/test_in_condition_float_context_int_array__should_not_match.jsonc +++ b/test_cases/test_in_condition_float_context_int_array__should_not_match.jsonc @@ -12,7 +12,7 @@ "identifier": "float_int_array_user", "key": "key_float_int_array_user", "traits": { - "score": 2.5 + "score": 2.0 } }, "segments": { diff --git a/test_cases/test_in_condition_float_context_json_encoded_floats__should_match.jsonc b/test_cases/test_in_condition_float_context_json_encoded_floats__should_match.jsonc index a839c23..60e395b 100644 --- a/test_cases/test_in_condition_float_context_json_encoded_floats__should_match.jsonc +++ b/test_cases/test_in_condition_float_context_json_encoded_floats__should_match.jsonc @@ -12,7 +12,7 @@ "identifier": "float_json_array_user", "key": "key_float_json_array_user", "traits": { - "score": 2.5 + "score": 2.0 } }, "segments": { @@ -26,7 +26,7 @@ { "operator": "IN", "property": "score", - "value": "[1.5,2.5,3.5,4.5]" + "value": "[1.0,2.0,3.0,4.0]" } ] } diff --git a/test_cases/test_in_condition_float_context_json_encoded_ints__should_not_match.jsonc b/test_cases/test_in_condition_float_context_json_encoded_ints__should_not_match.jsonc index bb1917b..1afd68e 100644 --- a/test_cases/test_in_condition_float_context_json_encoded_ints__should_not_match.jsonc +++ b/test_cases/test_in_condition_float_context_json_encoded_ints__should_not_match.jsonc @@ -12,7 +12,7 @@ "identifier": "float_json_int_array_user", "key": "key_float_json_int_array_user", "traits": { - "score": 2.5 + "score": 2.0 } }, "segments": { diff --git a/test_cases/test_in_condition_int_context_comma_delimited_floats__should_not_match.jsonc b/test_cases/test_in_condition_int_context_comma_delimited_floats__should_not_match.jsonc index d5b64dd..5074878 100644 --- a/test_cases/test_in_condition_int_context_comma_delimited_floats__should_not_match.jsonc +++ b/test_cases/test_in_condition_int_context_comma_delimited_floats__should_not_match.jsonc @@ -26,7 +26,7 @@ { "operator": "IN", "property": "level", - "value": "1.5,2.5,3.5,4.5" + "value": "1.0,2.0,3.0,4.0" } ] } diff --git a/test_cases/test_in_condition_int_context_float_array__should_not_match.jsonc b/test_cases/test_in_condition_int_context_float_array__should_not_match.jsonc index 2aa4c4a..4569b9d 100644 --- a/test_cases/test_in_condition_int_context_float_array__should_not_match.jsonc +++ b/test_cases/test_in_condition_int_context_float_array__should_not_match.jsonc @@ -27,10 +27,10 @@ "operator": "IN", "property": "level", "value": [ - 1.5, - 2.5, - 3.5, - 4.5 + 1.0, + 2.0, + 3.0, + 4.0 ] } ] diff --git a/test_cases/test_in_condition_int_context_json_encoded_floats__should_not_match.jsonc b/test_cases/test_in_condition_int_context_json_encoded_floats__should_not_match.jsonc index f7a85b2..f900c6b 100644 --- a/test_cases/test_in_condition_int_context_json_encoded_floats__should_not_match.jsonc +++ b/test_cases/test_in_condition_int_context_json_encoded_floats__should_not_match.jsonc @@ -26,7 +26,7 @@ { "operator": "IN", "property": "level", - "value": "[1.5,2.5,3.5,4.5]" + "value": "[1.0,2.0,3.0,4.0]" } ] } From c8ed747afcc19300d78564cf0233926311db72d1 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 29 Oct 2025 10:49:07 +0000 Subject: [PATCH 4/4] Convert native array values to strings for schema compliance Co-authored-by: khvn26 <979078+khvn26@users.noreply.github.com> --- ...ondition_float_context_float_array__should_match.jsonc | 8 ++++---- ...dition_float_context_int_array__should_not_match.jsonc | 8 ++++---- ...dition_int_context_float_array__should_not_match.jsonc | 8 ++++---- ...in_condition_int_context_int_array__should_match.jsonc | 8 ++++---- 4 files changed, 16 insertions(+), 16 deletions(-) diff --git a/test_cases/test_in_condition_float_context_float_array__should_match.jsonc b/test_cases/test_in_condition_float_context_float_array__should_match.jsonc index 354ee84..37ce54a 100644 --- a/test_cases/test_in_condition_float_context_float_array__should_match.jsonc +++ b/test_cases/test_in_condition_float_context_float_array__should_match.jsonc @@ -27,10 +27,10 @@ "operator": "IN", "property": "score", "value": [ - 1.0, - 2.0, - 3.0, - 4.0 + "1.0", + "2.0", + "3.0", + "4.0" ] } ] diff --git a/test_cases/test_in_condition_float_context_int_array__should_not_match.jsonc b/test_cases/test_in_condition_float_context_int_array__should_not_match.jsonc index 13251e4..3233edf 100644 --- a/test_cases/test_in_condition_float_context_int_array__should_not_match.jsonc +++ b/test_cases/test_in_condition_float_context_int_array__should_not_match.jsonc @@ -27,10 +27,10 @@ "operator": "IN", "property": "score", "value": [ - 1, - 2, - 3, - 4 + "1", + "2", + "3", + "4" ] } ] diff --git a/test_cases/test_in_condition_int_context_float_array__should_not_match.jsonc b/test_cases/test_in_condition_int_context_float_array__should_not_match.jsonc index 4569b9d..427853a 100644 --- a/test_cases/test_in_condition_int_context_float_array__should_not_match.jsonc +++ b/test_cases/test_in_condition_int_context_float_array__should_not_match.jsonc @@ -27,10 +27,10 @@ "operator": "IN", "property": "level", "value": [ - 1.0, - 2.0, - 3.0, - 4.0 + "1.0", + "2.0", + "3.0", + "4.0" ] } ] diff --git a/test_cases/test_in_condition_int_context_int_array__should_match.jsonc b/test_cases/test_in_condition_int_context_int_array__should_match.jsonc index c369f01..cf582c1 100644 --- a/test_cases/test_in_condition_int_context_int_array__should_match.jsonc +++ b/test_cases/test_in_condition_int_context_int_array__should_match.jsonc @@ -27,10 +27,10 @@ "operator": "IN", "property": "level", "value": [ - 1, - 2, - 3, - 4 + "1", + "2", + "3", + "4" ] } ]