16
16
17
17
package io .objectbox .relation ;
18
18
19
+ import io .objectbox .Cursor ;
20
+ import io .objectbox .InternalAccess ;
19
21
import org .junit .Test ;
20
22
21
23
import java .util .ArrayList ;
22
24
import java .util .Collections ;
23
25
import java .util .List ;
24
26
25
- import io .objectbox .Cursor ;
26
- import io .objectbox .InternalAccess ;
27
-
28
27
import static org .junit .Assert .*;
29
28
30
29
/**
@@ -62,10 +61,6 @@ public void testGet() {
62
61
customer = customerBox .get (customer .getId ());
63
62
final ToMany <Order > toMany = customer .getOrdersStandalone ();
64
63
65
- // RelationInfo<Order> info = Customer_.ordersStandalone;
66
- // int sourceEntityId = info.sourceInfo.getEntityId();
67
- // assertEquals(2, orderBox.internalGetRelationEntities(sourceEntityId, info.relationId, customer.getId()).size());
68
-
69
64
assertGetOrder1And2 (toMany );
70
65
}
71
66
@@ -92,6 +87,60 @@ public void run() {
92
87
});
93
88
}
94
89
90
+ @ Test
91
+ public void testGetRelationEntitiesAndIds () {
92
+ Customer customer = putCustomerWithOrders (2 );
93
+ putOrder (null , "order3" ); // without customer
94
+ Customer customerNoOrders = putCustomer ();
95
+
96
+ // customer with orders
97
+ long customerId = customer .getId ();
98
+ List <Order > ordersActual = orderBox .getRelationEntities (Customer_ .ordersStandalone , customerId );
99
+ assertEquals (2 , ordersActual .size ());
100
+ assertEquals ("order1" , ordersActual .get (0 ).getText ());
101
+ assertEquals ("order2" , ordersActual .get (1 ).getText ());
102
+
103
+ long [] orderIdsActual = orderBox .getRelationIds (Customer_ .ordersStandalone , customerId );
104
+ assertEquals (2 , orderIdsActual .length );
105
+ assertEquals (ordersActual .get (0 ).getId (), orderIdsActual [0 ]);
106
+ assertEquals (ordersActual .get (1 ).getId (), orderIdsActual [1 ]);
107
+
108
+ // customer without orders
109
+ long customerNoOrdersId = customerNoOrders .getId ();
110
+ List <Order > noOrdersActual = orderBox .getRelationEntities (Customer_ .ordersStandalone , customerNoOrdersId );
111
+ assertEquals (0 , noOrdersActual .size ());
112
+
113
+ long [] noOrderIdsActual = orderBox .getRelationIds (Customer_ .ordersStandalone , customerNoOrdersId );
114
+ assertEquals (0 , noOrderIdsActual .length );
115
+ }
116
+
117
+ @ Test
118
+ public void testGetRelationBacklinkEntitiesAndIds () {
119
+ Customer customer = putCustomerWithOrders (2 );
120
+ Order order1 = customer .getOrdersStandalone ().get (0 );
121
+ putCustomer (); // without orders
122
+ Order orderNoCustomer = putOrder (null , "order3" );
123
+
124
+ // order with customer
125
+ long order1Id = order1 .getId ();
126
+ List <Customer > customersActual = customerBox .getRelationBacklinkEntities (Customer_ .ordersStandalone , order1Id );
127
+ assertEquals (1 , customersActual .size ());
128
+ assertEquals (customer .getId (), customersActual .get (0 ).getId ());
129
+
130
+ long [] customerIdsActual = customerBox .getRelationBacklinkIds (Customer_ .ordersStandalone , order1Id );
131
+ assertEquals (1 , customerIdsActual .length );
132
+ assertEquals (customer .getId (), customerIdsActual [0 ]);
133
+
134
+ // order without customer
135
+ long orderNoCustomerId = orderNoCustomer .getId ();
136
+ List <Customer > noCustomersActual = customerBox
137
+ .getRelationBacklinkEntities (Customer_ .ordersStandalone , orderNoCustomerId );
138
+ assertEquals (0 , noCustomersActual .size ());
139
+
140
+ long [] noCustomerIdsActual = customerBox .getRelationBacklinkIds (Customer_ .ordersStandalone , orderNoCustomerId );
141
+ assertEquals (0 , noCustomerIdsActual .length );
142
+ }
143
+
95
144
@ Test
96
145
public void testReset () {
97
146
Customer customer = putCustomerWithOrders (2 );
0 commit comments