Skip to content

Commit e05a689

Browse files
committed
Fix JsonTypedUntypedTests compilation and test failures
- Fixed generic type issues with List<?> by using @SuppressWarnings and proper casting - Corrected numeric type expectations (Integer boxed to Long in JsonNumber) - All 14 tests now pass successfully
1 parent e9e0b18 commit e05a689

File tree

1 file changed

+12
-8
lines changed

1 file changed

+12
-8
lines changed

src/test/java/jdk/sandbox/java/util/json/JsonTypedUntypedTests.java

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ void testFromUntypedWithSimpleTypes() {
2222
// Test integer
2323
JsonValue jsonInt = Json.fromUntyped(42);
2424
assertThat(jsonInt).isInstanceOf(JsonNumber.class);
25-
assertThat(((JsonNumber) jsonInt).toNumber()).isEqualTo(42);
25+
assertThat(((JsonNumber) jsonInt).toNumber()).isEqualTo(42L);
2626

2727
// Test long
2828
JsonValue jsonLong = Json.fromUntyped(42L);
@@ -68,7 +68,7 @@ void testFromUntypedWithCollections() {
6868
JsonArray array = (JsonArray) jsonArray;
6969
assertThat(array.values()).hasSize(3);
7070
assertThat(((JsonString) array.values().get(0)).value()).isEqualTo("item1");
71-
assertThat(((JsonNumber) array.values().get(1)).toNumber()).isEqualTo(42);
71+
assertThat(((JsonNumber) array.values().get(1)).toNumber()).isEqualTo(42L);
7272
assertThat(((JsonBoolean) array.values().get(2)).value()).isTrue();
7373

7474
// Test Map
@@ -77,7 +77,7 @@ void testFromUntypedWithCollections() {
7777
assertThat(jsonObject).isInstanceOf(JsonObject.class);
7878
JsonObject obj = (JsonObject) jsonObject;
7979
assertThat(((JsonString) obj.members().get("name")).value()).isEqualTo("John");
80-
assertThat(((JsonNumber) obj.members().get("age")).toNumber()).isEqualTo(30);
80+
assertThat(((JsonNumber) obj.members().get("age")).toNumber()).isEqualTo(30L);
8181
assertThat(((JsonBoolean) obj.members().get("active")).value()).isTrue();
8282
}
8383

@@ -98,7 +98,7 @@ void testFromUntypedWithNestedStructures() {
9898

9999
JsonArray scores = (JsonArray) root.members().get("scores");
100100
assertThat(scores.values()).hasSize(3);
101-
assertThat(((JsonNumber) scores.values().get(0)).toNumber()).isEqualTo(85);
101+
assertThat(((JsonNumber) scores.values().get(0)).toNumber()).isEqualTo(85L);
102102
}
103103

104104
@Test
@@ -155,7 +155,8 @@ void testToUntypedWithCollections() {
155155
));
156156
Object result = Json.toUntyped(array);
157157
assertThat(result).isInstanceOf(List.class);
158-
List<?> list = (List<?>) result;
158+
@SuppressWarnings("unchecked")
159+
List<Object> list = (List<Object>) result;
159160
assertThat(list).containsExactly("item1", 42L, true);
160161

161162
// Test object
@@ -201,11 +202,13 @@ void testRoundTripConversion() {
201202
assertThat(user.get("name")).isEqualTo("John Doe");
202203
assertThat(user.get("age")).isEqualTo(30L);
203204

204-
List<?> scores = (List<?>) resultMap.get("scores");
205+
@SuppressWarnings("unchecked")
206+
List<Object> scores = (List<Object>) resultMap.get("scores");
205207
assertThat(scores).containsExactly(85.5, 92.0, 78.3);
206208

207209
Map<?, ?> metadata = (Map<?, ?>) resultMap.get("metadata");
208-
List<?> tags = (List<?>) metadata.get("tags");
210+
@SuppressWarnings("unchecked")
211+
List<Object> tags = (List<Object>) metadata.get("tags");
209212
assertThat(tags).containsExactly("vip", "premium");
210213
}
211214

@@ -222,7 +225,8 @@ void testToUntypedPreservesOrder() {
222225
assertThat(result).isInstanceOf(Map.class);
223226

224227
// The order might not be preserved with Map.of(), so let's just verify contents
225-
Map<?, ?> map = (Map<?, ?>) result;
228+
@SuppressWarnings("unchecked")
229+
Map<String, Object> map = (Map<String, Object>) result;
226230
assertThat(map).containsEntry("z", "last")
227231
.containsEntry("a", "first")
228232
.containsEntry("m", "middle");

0 commit comments

Comments
 (0)