Skip to content

Commit 9ebc8b5

Browse files
UTF-8 test: assert length, longer, starts with condition.
1 parent 89936ba commit 9ebc8b5

File tree

1 file changed

+16
-4
lines changed
  • tests/objectbox-java-test/src/test/java/io/objectbox

1 file changed

+16
-4
lines changed

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

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,19 @@
1313
*/
1414
public class Utf8Test extends AbstractObjectBoxTest {
1515

16-
// U+1F600
17-
private static final String TEST_STRING = "😁";
16+
// U+1F600, U+1F601, U+1F602
17+
private static final String TEST_STRING = "😀😃😂";
1818

1919
@Test
2020
public void putGetAndQuery_works() {
21+
// Java stores UTF-16 internally (2 chars per emoji)
22+
assertEquals(3 * 2, TEST_STRING.length());
23+
2124
// Put
2225
TestEntity put = putTestEntity(TEST_STRING, 1);
23-
putTestEntity("🚀", 2); // U+1F680
24-
assertEquals(2, getTestEntityBox().count());
26+
putTestEntity("🚀🚁🚄", 2); // U+1F680, U+1F681, U+1F684
27+
putTestEntity("😀🚁🚄", 3); // U+1F600, U+1F681, U+1F684
28+
assertEquals(3, getTestEntityBox().count());
2529

2630
// Get
2731
TestEntity get = getTestEntityBox().get(put.getId());
@@ -34,6 +38,14 @@ public void putGetAndQuery_works() {
3438
assertEquals(1, results.size());
3539
assertEquals(TEST_STRING, results.get(0).getSimpleString());
3640

41+
// Query String with starts with
42+
List<TestEntity> resultsStartsWith = getTestEntityBox().query(
43+
TestEntity_.simpleString.startsWith("😀") // U+1F600
44+
).build().find();
45+
assertEquals(2, resultsStartsWith.size());
46+
assertEquals(1, resultsStartsWith.get(0).getSimpleInt());
47+
assertEquals(3, resultsStartsWith.get(1).getSimpleInt());
48+
3749
// Query String array
3850
List<TestEntity> resultsArray = getTestEntityBox().query(
3951
TestEntity_.simpleStringArray.containsElement(TEST_STRING)

0 commit comments

Comments
 (0)