Skip to content

Commit 2ce1381

Browse files
QueryTest: byte[] equal+setParameter, less and greater.
- AbstractObjectBoxTest.createTestEntity also sets simpleByteArray property.
1 parent 30a27a8 commit 2ce1381

File tree

2 files changed

+63
-0
lines changed

2 files changed

+63
-0
lines changed

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,7 @@ protected TestEntity createTestEntity(@Nullable String simpleString, int nr) {
219219
entity.setSimpleLong(1000 + nr);
220220
entity.setSimpleFloat(200 + nr / 10f);
221221
entity.setSimpleDouble(2000 + nr / 100f);
222+
entity.setSimpleByteArray(new byte[]{1, 2, (byte) nr});
222223
return entity;
223224
}
224225

tests/objectbox-java-test/src/test/java/io/objectbox/query/QueryTest.java

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import org.junit.Test;
2020

2121
import java.util.ArrayList;
22+
import java.util.Arrays;
2223
import java.util.Comparator;
2324
import java.util.Date;
2425
import java.util.List;
@@ -41,12 +42,14 @@
4142

4243

4344
import static io.objectbox.TestEntity_.simpleBoolean;
45+
import static io.objectbox.TestEntity_.simpleByteArray;
4446
import static io.objectbox.TestEntity_.simpleFloat;
4547
import static io.objectbox.TestEntity_.simpleInt;
4648
import static io.objectbox.TestEntity_.simpleLong;
4749
import static io.objectbox.TestEntity_.simpleShort;
4850
import static io.objectbox.TestEntity_.simpleString;
4951
import static org.junit.Assert.assertEquals;
52+
import static org.junit.Assert.assertFalse;
5053
import static org.junit.Assert.assertNotNull;
5154
import static org.junit.Assert.assertNull;
5255
import static org.junit.Assert.assertSame;
@@ -349,6 +352,65 @@ public void testStringIn() {
349352
assertEquals("foo bar", entities.get(1).getSimpleString());
350353
}
351354

355+
@Test
356+
public void testByteArrayEqualsAndSetParameter() {
357+
putTestEntitiesScalars();
358+
359+
byte[] value = {1, 2, (byte) 2000};
360+
Query<TestEntity> query = box.query().equal(simpleByteArray, value).parameterAlias("bytes").build();
361+
362+
assertEquals(1, query.count());
363+
TestEntity first = query.findFirst();
364+
assertNotNull(first);
365+
assertTrue(Arrays.equals(value, first.getSimpleByteArray()));
366+
367+
byte[] value2 = {1, 2, (byte) 2001};
368+
query.setParameter(simpleByteArray, value2);
369+
370+
assertEquals(1, query.count());
371+
TestEntity first2 = query.findFirst();
372+
assertNotNull(first2);
373+
assertTrue(Arrays.equals(value2, first2.getSimpleByteArray()));
374+
375+
byte[] value3 = {1, 2, (byte) 2002};
376+
query.setParameter("bytes", value3);
377+
378+
assertEquals(1, query.count());
379+
TestEntity first3 = query.findFirst();
380+
assertNotNull(first3);
381+
assertTrue(Arrays.equals(value3, first3.getSimpleByteArray()));
382+
}
383+
384+
@Test
385+
public void testByteArrayLess() {
386+
putTestEntitiesScalars();
387+
388+
byte[] value = {1, 2, (byte) 2005};
389+
Query<TestEntity> query = box.query().less(simpleByteArray, value).build();
390+
List<TestEntity> results = query.find();
391+
392+
assertEquals(5, results.size());
393+
// Java does not have compareTo for arrays, so just make sure its not equal to the value
394+
for (TestEntity result : results) {
395+
assertFalse(Arrays.equals(value, result.getSimpleByteArray()));
396+
}
397+
}
398+
399+
@Test
400+
public void testByteArrayGreater() {
401+
putTestEntitiesScalars();
402+
403+
byte[] value = {1, 2, (byte) 2005};
404+
Query<TestEntity> query = box.query().greater(simpleByteArray, value).build();
405+
List<TestEntity> results = query.find();
406+
407+
assertEquals(4, results.size());
408+
// Java does not have compareTo for arrays, so just make sure its not equal to the value
409+
for (TestEntity result : results) {
410+
assertFalse(Arrays.equals(value, result.getSimpleByteArray()));
411+
}
412+
}
413+
352414
@Test
353415
public void testScalarFloatLessAndGreater() {
354416
putTestEntitiesScalars();

0 commit comments

Comments
 (0)