package org.greenrobot.greendao.test.entityannotation; import org.greenrobot.greendao.test.AbstractDaoSessionTest; import java.util.Date; import java.util.List; public class CustomerOrderTest extends AbstractDaoSessionTest<DaoMaster, DaoSession> { public CustomerOrderTest() { super(DaoMaster.class); } public void testCustomerToOrders() { Customer customer = new Customer(null, "greenrobot"); daoSession.insert(customer); addOrderToCustomer(customer); addOrderToCustomer(customer); List<Order> orders = customer.getOrders(); assertEquals(2, orders.size()); } public void testOrderToCustomer() { Customer customer = new Customer(null, "greenrobot"); daoSession.insert(customer); Order order = addOrderToCustomer(customer); Customer customer2 = order.getCustomer(); assertSame(customer, customer2); } public void testUpdateBirectional() { Customer customer = new Customer(null, "greenrobot"); daoSession.insert(customer); addOrderToCustomer(customer); List<Order> orders = customer.getOrders(); Order newOrder = new Order(); newOrder.setCustomer(customer); daoSession.insert(newOrder); orders.add(newOrder); assertEquals(2, orders.size()); customer.resetOrders(); List<Order> orders2 = customer.getOrders(); assertEquals(orders.size(), orders2.size()); } private Order addOrderToCustomer(Customer customer) { Date date = new Date(System.currentTimeMillis() - ((long) (Math.random() * 1000 * 60 * 60 * 24 * 365))); Order order = new Order(null, date, customer.getId()); daoSession.insert(order); return order; } }