13
13
*/
14
14
public class Utf8Test extends AbstractObjectBoxTest {
15
15
16
- // U+1F600
17
- private static final String TEST_STRING = "😁 " ;
16
+ // U+1F600, U+1F601, U+1F602
17
+ private static final String TEST_STRING = "😀😃😂 " ;
18
18
19
19
@ Test
20
20
public void putGetAndQuery_works () {
21
+ // Java stores UTF-16 internally (2 chars per emoji)
22
+ assertEquals (3 * 2 , TEST_STRING .length ());
23
+
21
24
// Put
22
25
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 ());
25
29
26
30
// Get
27
31
TestEntity get = getTestEntityBox ().get (put .getId ());
@@ -34,6 +38,14 @@ public void putGetAndQuery_works() {
34
38
assertEquals (1 , results .size ());
35
39
assertEquals (TEST_STRING , results .get (0 ).getSimpleString ());
36
40
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
+
37
49
// Query String array
38
50
List <TestEntity > resultsArray = getTestEntityBox ().query (
39
51
TestEntity_ .simpleStringArray .containsElement (TEST_STRING )
0 commit comments