/* * Copyright (c) 2010 Mysema Ltd. * All rights reserved. * */ package com.mysema.rdfbean.rdb; import static com.mysema.query.alias.Alias.$; import static org.junit.Assert.assertEquals; import java.util.UUID; import org.junit.Before; import org.junit.Test; import com.mysema.query.alias.Alias; import com.mysema.rdfbean.domains.UserDepartmentCompanyDomain; import com.mysema.rdfbean.domains.UserDepartmentCompanyDomain.Company; import com.mysema.rdfbean.domains.UserDepartmentCompanyDomain.Department; import com.mysema.rdfbean.domains.UserDomain.User; import com.mysema.rdfbean.testutil.SessionConfig; @SessionConfig({ User.class, Department.class, Company.class }) public class RDBBeanQueryTest extends AbstractRDBTest implements UserDepartmentCompanyDomain { private User[] users = new User[10]; private User u = Alias.alias(User.class); @Before public void setUp() { for (int i = 0; i < users.length; i++) { users[i] = new User(); users[i].userName = UUID.randomUUID().toString(); session.save(users[i]); } } // @Test // public void FromUser_list(){ // List<String> names = MiniApi.from(u, // Arrays.asList(users)).list($(u.getUserName())); // List<String> queriedNames = session.from($(u)).list($(u.getUserName())); // assertTrue(queriedNames.containsAll(names)); // } @Test public void FromUser_count() { long count = session.from($(u)).count(); session.save(new User()); assertEquals(count + 1l, session.from($(u)).count()); } @Test public void FromUser_where_userName_eq_constant() { for (int i = 0; i < users.length; i++) { assertEquals(users[i].getUserName(), session.from($(u)) .where($(u.getUserName()).eq(users[i].getUserName())) .uniqueResult($(u.getUserName()))); } } @Test public void FromUser_where_userName_startsWith_constant() { for (int i = 0; i < users.length; i++) { assertEquals(users[i].getUserName(), session.from($(u)) .where($(u.getUserName()).startsWith(users[i].getUserName().substring(0, users[i].getUserName().length() - 1))) .uniqueResult($(u.getUserName()))); } } @Test public void FromUser_where_userName_endsWith_constant() { for (int i = 0; i < users.length; i++) { assertEquals(users[i].getUserName(), session.from($(u)) .where($(u.getUserName()).endsWith(users[i].getUserName().substring(1))) .uniqueResult($(u.getUserName()))); } } }