Skip to content

Commit c911b6a

Browse files
Merge pull request #395 from InseeFr/fixVariableLongType
change variable reading type from int to long
2 parents 595e3ea + 041b126 commit c911b6a

3 files changed

Lines changed: 30 additions & 18 deletions

File tree

src/main/java/fr/insee/genesis/domain/service/contextualvariable/previous/ContextualPreviousVariableJsonService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ private Object readValue(JsonParser jsonParser) throws IOException{
160160
return jsonParser.getText();
161161
}
162162
case VALUE_NUMBER_INT -> {
163-
return jsonParser.getIntValue();
163+
return jsonParser.getLongValue();
164164
}
165165
case VALUE_NUMBER_FLOAT -> {
166166
return jsonParser.getDoubleValue();

src/main/java/fr/insee/genesis/domain/utils/JsonUtils.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public static Object readValue(JsonParser jsonParser) throws IOException {
4040
return jsonParser.getText();
4141
}
4242
case VALUE_NUMBER_INT -> {
43-
return jsonParser.getIntValue();
43+
return jsonParser.getLongValue();
4444
}
4545
case VALUE_NUMBER_FLOAT -> {
4646
return jsonParser.getDoubleValue();

src/test/java/fr/insee/genesis/controller/rest/responses/ContextualVariableControllerTest.java

Lines changed: 28 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -912,9 +912,12 @@ private static void assertVariable(ContextualPreviousVariableDocument document,
912912
String variableName,
913913
int expectedValue
914914
) {
915-
Assertions.assertNotNull(document.getVariables().get(variableName));
916-
Assertions.assertInstanceOf(Integer.class,document.getVariables().get(variableName));
917-
Assertions.assertEquals(expectedValue,document.getVariables().get(variableName)); }
915+
Object actual = document.getVariables().get(variableName);
916+
Assertions.assertNotNull(actual);
917+
918+
Assertions.assertInstanceOf(Number.class, actual, "Unexpected type, expected Number, actual: " + actual.getClass());
919+
920+
Assertions.assertEquals((long) expectedValue, ((Number) actual).longValue()); }
918921

919922
private static void assertVariableNull(ContextualPreviousVariableDocument document,
920923
String variableName
@@ -948,11 +951,15 @@ private static void assertVariable(ContextualPreviousVariableDocument document,
948951
String arrayVariableName,
949952
int index,
950953
int expectedValue
951-
) throws ClassCastException{
952-
List<Object> list = (List<Object>)document.getVariables().get(arrayVariableName);
953-
Assertions.assertTrue(list.size()>index);
954-
Assertions.assertInstanceOf(Integer.class,list.get(index));
955-
Assertions.assertEquals(expectedValue,(Integer)list.get(index));
954+
){
955+
List<Object> list = (List<Object>) document.getVariables().get(arrayVariableName);
956+
Assertions.assertTrue(list.size() > index);
957+
Object actual = list.get(index);
958+
Assertions.assertNotNull(actual);
959+
960+
Assertions.assertInstanceOf(Number.class, actual, "Unexpected type, expected Number, actual: " + actual.getClass());
961+
962+
Assertions.assertEquals((long) expectedValue, ((Number) actual).longValue());
956963
}
957964

958965
private List<ContextualPreviousVariableDocument> getContextualPreviousTestDocuments() {
@@ -1116,9 +1123,10 @@ private static void assertVariable(ContextualExternalVariableDocument document,
11161123
String variableName,
11171124
int expectedValue
11181125
) {
1119-
Assertions.assertNotNull(document.getVariables().get(variableName));
1120-
Assertions.assertInstanceOf(Integer.class,document.getVariables().get(variableName));
1121-
Assertions.assertEquals(expectedValue,document.getVariables().get(variableName));
1126+
Object actual = document.getVariables().get(variableName);
1127+
Assertions.assertNotNull(actual);
1128+
Assertions.assertInstanceOf(Number.class, actual, "Unexpected type, expected Number, actual: " + actual.getClass());
1129+
Assertions.assertEquals((long) expectedValue, ((Number) actual).longValue());
11221130
}
11231131

11241132
@SuppressWarnings("unchecked")
@@ -1148,11 +1156,15 @@ private static void assertVariable(ContextualExternalVariableDocument document,
11481156
String arrayVariableName,
11491157
int index,
11501158
int expectedValue
1151-
) throws ClassCastException{
1152-
List<Object> list = (List<Object>)document.getVariables().get(arrayVariableName);
1153-
Assertions.assertTrue(list.size()>index);
1154-
Assertions.assertInstanceOf(Integer.class,list.get(index));
1155-
Assertions.assertEquals(expectedValue,(Integer)list.get(index));
1159+
){
1160+
List<Object> list = (List<Object>) document.getVariables().get(arrayVariableName);
1161+
Assertions.assertTrue(list.size() > index);
1162+
Object actual = list.get(index);
1163+
Assertions.assertNotNull(actual);
1164+
1165+
Assertions.assertInstanceOf(Number.class, actual, "Unexpected type, expected Number, actual: " + actual.getClass());
1166+
1167+
Assertions.assertEquals((long) expectedValue, ((Number) actual).longValue());
11561168

11571169
}
11581170
}

0 commit comments

Comments
 (0)