/*
* Copyright 2000-2013 Enonic AS
* http://www.enonic.com/license
*/
package com.enonic.cms.core.search.builder;
import java.util.Collection;
import java.util.Set;
import static junit.framework.Assert.assertEquals;
import static junit.framework.Assert.assertTrue;
import static junit.framework.Assert.fail;
public abstract class ContentIndexDataTestBase
{
void verifyElementExistsAndNumberOfValues( Set<ContentIndexDataElement> contentDataElements, String name, int expectedValueElements )
{
for ( ContentIndexDataElement contentDataElement : contentDataElements )
{
final Set<ContentIndexDataFieldAndValue> contentIndexDataFieldAndValues =
ContentIndexDataFieldValueSetFactory.create( contentDataElement );
final Set<ContentIndexDataFieldAndValue> allFieldAndValuesForElement = contentIndexDataFieldAndValues;
for ( ContentIndexDataFieldAndValue contentIndexDataFieldAndValue : allFieldAndValuesForElement )
{
if ( name.equals( contentIndexDataFieldAndValue.getFieldName() ) )
{
final Object value = contentIndexDataFieldAndValue.getValue();
if ( expectedValueElements > 1 )
{
assertTrue( value instanceof Collection );
Collection collection = (Collection) value;
assertEquals( expectedValueElements, collection.size() );
}
else
{
if ( value instanceof Collection )
{
assertEquals( 1, ( (Collection) value ).size() );
}
}
return;
}
}
}
fail( "Did not find Element with name: " + name );
}
void verifyElementDoesNotExist( Set<ContentIndexDataElement> contentDataElements, String name )
{
for ( ContentIndexDataElement contentDataElement : contentDataElements )
{
final Set<ContentIndexDataFieldAndValue> contentIndexDataFieldAndValues =
ContentIndexDataFieldValueSetFactory.create( contentDataElement );
final Set<ContentIndexDataFieldAndValue> allFieldAndValuesForElement = contentIndexDataFieldAndValues;
for ( ContentIndexDataFieldAndValue contentIndexDataFieldAndValue : allFieldAndValuesForElement )
{
if ( name.equals( contentIndexDataFieldAndValue.getFieldName() ) )
{
fail( "Element should not exist: " + name );
}
}
}
}
}