/*
* Copyright 2000-2013 Enonic AS
* http://www.enonic.com/license
*/
package com.enonic.cms.itest.search;
import org.junit.Test;
import com.enonic.cms.core.content.ContentKey;
import com.enonic.cms.core.content.index.ContentIndexQuery;
import com.enonic.cms.core.content.resultset.ContentResultSet;
import static junit.framework.Assert.assertEquals;
import static junit.framework.Assert.assertTrue;
/**
* Created by IntelliJ IDEA.
* User: rmh
* Date: 2/6/12
* Time: 9:57 AM
*/
public class ContentIndexServiceImpl_queryCustomdataTest
extends ContentIndexServiceTestBase
{
@Test
public void testQueryOnNumericAndNotNumericValue()
{
setUpStandardTestValues();
ContentIndexQuery query = new ContentIndexQuery( "data/person/age = " + 38 + " AND " +
"data/person/age = '" + 38 + "'" );
final ContentResultSet resultSet = contentIndexService.query( query );
assertEquals( 1, resultSet.getTotalCount() );
assertTrue( resultSet.containsContent( new ContentKey( 1322 ) ) );
}
@Test
public void testDoubleTermQuery()
{
setUpStandardTestValues();
ContentIndexQuery query = new ContentIndexQuery( "data/person/age = 5 or data/person/age = 38.0 " );
final ContentResultSet resultSet = contentIndexService.query( query );
assertEquals( 2, resultSet.getTotalCount() );
}
@Test
public void testDoubleRangeQuery()
{
setUpStandardTestValues();
ContentIndexQuery query = new ContentIndexQuery( "data/person/age > 5 and data/person/age < 38.0 " );
final ContentResultSet resultSet = contentIndexService.query( query );
assertEquals( 2, resultSet.getTotalCount() );
}
@Test
public void testDoubleInQuery()
{
setUpStandardTestValues();
ContentIndexQuery query = new ContentIndexQuery( "data/person/age in (28.0, 10.0)" );
final ContentResultSet resultSet = contentIndexService.query( query );
assertEquals( 2, resultSet.getTotalCount() );
}
@Test
public void testDoubleAndStringInQuery()
{
setUpStandardTestValues();
ContentIndexQuery query = new ContentIndexQuery( "data/person/age in (28.0, '10')" );
final ContentResultSet resultSet = contentIndexService.query( query );
assertEquals( 2, resultSet.getTotalCount() );
}
}