Skip to content

Commit ec55135

Browse files
Verify String array with a null item or only null item works.
1 parent ac5ab7b commit ec55135

File tree

2 files changed

+31
-1
lines changed

2 files changed

+31
-1
lines changed

tests/objectbox-java-test/src/test/java/io/objectbox/AbstractObjectBoxTest.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -264,7 +264,9 @@ protected void assertTestEntity(TestEntity actual, @Nullable String simpleString
264264
assertEquals(200 + nr / 10f, actual.getSimpleFloat(), 0);
265265
assertEquals(2000 + nr / 100f, actual.getSimpleDouble(), 0);
266266
assertArrayEquals(new byte[]{1, 2, (byte) nr}, actual.getSimpleByteArray());
267-
assertArrayEquals(new String[]{simpleString}, actual.getSimpleStringArray());
267+
// null array items are ignored, so array will be empty
268+
String[] expectedStringArray = simpleString == null ? new String[]{} : new String[]{simpleString};
269+
assertArrayEquals(expectedStringArray, actual.getSimpleStringArray());
268270
assertEquals((short) (100 + nr), actual.getSimpleShortU());
269271
assertEquals(nr, actual.getSimpleIntU());
270272
assertEquals(1000 + nr, actual.getSimpleLongU());

tests/objectbox-java-test/src/test/java/io/objectbox/BoxTest.java

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,34 @@ public void testPutAndGet() {
5151
assertTestEntity(entityRead, simpleString, simpleInt);
5252
}
5353

54+
@Test
55+
public void testPutStringArray_withNull_ignoresNull() {
56+
final String[] stringArray = new String[]{"sunrise", null, "sunset"};
57+
final String[] expectedStringArray = new String[]{"sunrise", "sunset"};
58+
59+
TestEntity entity = new TestEntity();
60+
entity.setSimpleStringArray(stringArray);
61+
box.put(entity);
62+
63+
TestEntity entityRead = box.get(entity.getId());
64+
assertNotNull(entityRead);
65+
assertArrayEquals(expectedStringArray, entityRead.getSimpleStringArray());
66+
}
67+
68+
@Test
69+
public void testPutStringArray_onlyNull_isEmpty() {
70+
final String[] stringArray = new String[]{null};
71+
final String[] expectedStringArray = new String[]{};
72+
73+
TestEntity entity = new TestEntity();
74+
entity.setSimpleStringArray(stringArray);
75+
box.put(entity);
76+
77+
TestEntity entityRead = box.get(entity.getId());
78+
assertNotNull(entityRead);
79+
assertArrayEquals(expectedStringArray, entityRead.getSimpleStringArray());
80+
}
81+
5482
@Test
5583
public void testPutGetUpdateGetRemove() {
5684
// create an entity

0 commit comments

Comments
 (0)