FieldBuilderTest.java from Kneobase at Krugle
Show FieldBuilderTest.java syntax highlighted
/*
* Created on 18/08/2004
*
*/
package com.kneobase.driver.documentbuilder;
import java.io.InputStream;
import java.util.Calendar;
import java.util.Date;
import junit.framework.TestCase;
import org.apache.lucene.document.DateField;
import com.kneobase.KneobaseException;
import com.kneobase.document.Document;
import com.kneobase.document.Field;
import com.kneobase.driver.ParameterException;
import com.kneobase.driver.content.A_ContentUnit;
import com.kneobase.driver.content.I_Content;
import com.kneobase.driver.content.I_ContentUnit;
/**
* @author Ernesto De Santis
*
*/
public class FieldBuilderTest extends TestCase {
Date date = Calendar.getInstance().getTime();
A_FieldBuilder textBuilder = new TextFieldBuilderAux();
A_FieldBuilder dateBuilder = new DateFieldBuilderAux();
String textToIndex = "text to index";
I_ContentUnit cu =
new ContentUnitAux(textToIndex, Calendar.getInstance().getTime());
public void setUp() throws ParameterException {
textBuilder.setFieldName("text");
dateBuilder.setFieldName("date");
}
public void testTextField() {
assertNotNull(textBuilder);
assertTrue(textBuilder.getFieldName().equals("text"));
Document d = new Document();
try {
textBuilder.build(cu, d);
} catch (KneobaseException e) {
fail();
}
String value = d.get("text");
assertEquals(value, textToIndex);
Field f = d.getField("text");
assertEquals(f.getValue(), textToIndex);
assertEquals(f.getName(), "text");
assertTrue(f.isIndexed());
assertTrue(f.isStored());
assertTrue(f.isTokenized());
}
public void testDateField() {
assertNotNull(dateBuilder);
assertTrue(dateBuilder.getFieldName().equals("date"));
Document d = new Document();
try {
dateBuilder.build(cu, d);
} catch (KneobaseException e) {
fail();
}
String dvalue = d.get("date");
String dateString = DateField.dateToString(date);
assertEquals(dvalue, dateString);
Field f = d.getField("date");
assertEquals(f.getValue().toString(), DateField.dateToString(date));
assertEquals(f.getName(), "date");
assertTrue(f.isIndexed());
assertTrue(f.isStored());
assertTrue(!f.isTokenized());
}
class ContentUnitAux extends A_ContentUnit {
public ContentUnitAux(String value, Date d) {
super(new ContentAux(value, d), null);
}
public String getUuid() {
return null;
}
public InputStream getBodyInputStream() {
return null;
}
public String getType() {
return "type";
}
public String getName() {
return "mime type";
}
public long lastModified() {
return 0;
}
public long getSize() {
return 0;
}
}
class ContentAux {
private String value;
private Date date;
public ContentAux(String v, Date d) {
value = v;
date = d;
}
public String getValue() {
return value;
}
public Date getDate() {
return date;
}
}
class TextFieldBuilderAux extends A_FieldBuilder {
public Object getValue(I_Content content) throws KneobaseException {
ContentUnitAux cua = (ContentUnitAux) content;
ContentAux ca = (ContentAux) cua.getContentObject();
return ca.getValue();
}
}
class DateFieldBuilderAux extends A_FieldBuilder {
public Object getValue(I_Content content) throws KneobaseException {
ContentUnitAux cua = (ContentUnitAux) content;
ContentAux ca = (ContentAux) cua.getContentObject();
return ca.getDate();
}
}
}
See more files for this project here