/* * Copyright (c) 2010 Mysema Ltd. * All rights reserved. * */ package com.mysema.rdfbean.sesame.query; import static org.junit.Assert.assertEquals; import java.util.Arrays; import java.util.Collections; import org.junit.Ignore; import org.junit.Test; import com.mysema.query.types.Predicate; import com.mysema.query.types.expr.NumberExpression; import com.mysema.rdfbean.domains.SimpleDomain.SimpleType; import com.mysema.rdfbean.domains.SimpleDomain.SimpleType2; import com.mysema.rdfbean.object.BeanQuery; import com.mysema.rdfbean.sesame.SessionTestBase; import com.mysema.rdfbean.testutil.SessionConfig; @SessionConfig({ SimpleType.class, SimpleType2.class }) public class ListQueriesTest extends SessionTestBase { private final NumberExpression<Integer> size = var.listProperty.size(); @Test public void Persist() { SimpleType simpleType = new SimpleType(); simpleType.listProperty = Arrays.asList(new SimpleType2(), new SimpleType2()); session.save(simpleType); session.clear(); SimpleType other = session.getById(simpleType.id, SimpleType.class); assertEquals(simpleType.listProperty.size(), other.listProperty.size()); assertEquals(simpleType.listProperty.get(0).id, other.listProperty.get(0).id); assertEquals(simpleType.listProperty.get(1).id, other.listProperty.get(1).id); } @Test public void In() { where(var.listProperty.contains(var.listProperty.get(0))).count(); where(var.listProperty.contains(var.listProperty.get(0)), var.listProperty.isNotEmpty()).count(); } @Test @Ignore public void InList() { // TODO } // @Test(expected=UnsupportedOperationException.class) // @Ignore // public void listPropertyEq(){ // where(var.listProperty.eq(Collections.<SimpleType2>emptyList())).list(var); // } @Test @Ignore public void SizeEq() { // eq assertEquals(0, where(size.eq(1)).count()); assertEquals(1, where(size.eq(2)).count()); assertEquals(1, where(size.eq(3)).count()); } @Test @Ignore public void Goe() { // goe assertEquals(2, where(size.goe(1)).count()); assertEquals(2, where(size.goe(2)).count()); assertEquals(1, where(size.goe(3)).count()); assertEquals(0, where(size.goe(4)).count()); } @Test @Ignore public void Gt() { // gt assertEquals(2, where(size.gt(0)).count()); assertEquals(2, where(size.gt(1)).count()); assertEquals(1, where(size.gt(2)).count()); assertEquals(0, where(size.gt(3)).count()); } @Test @Ignore public void Loe() { // loe assertEquals(0, where(size.loe(0)).count()); assertEquals(0, where(size.loe(1)).count()); assertEquals(1, where(size.loe(2)).count()); assertEquals(2, where(size.loe(3)).count()); assertEquals(2, where(size.loe(4)).count()); } @Test @Ignore public void Lt() { // lt assertEquals(0, where(size.lt(1)).count()); assertEquals(0, where(size.lt(2)).count()); assertEquals(1, where(size.lt(3)).count()); assertEquals(2, where(size.lt(4)).count()); assertEquals(2, where(size.lt(5)).count()); } @Test public void IsEmpty() { assertEquals(0, where(var.listProperty.isEmpty()).count()); assertEquals(2, where(var.listProperty.isNotEmpty()).count()); } private BeanQuery where(Predicate... conditions) { return session.from(var).where(conditions); } }