package ru.hflabs.rcd.lucene.binder; import org.apache.lucene.document.Document; import org.apache.lucene.index.Term; import org.testng.annotations.Test; import ru.hflabs.rcd.model.document.Group; import ru.hflabs.util.lucene.LuceneBinderTransformer; import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertNotNull; import static ru.hflabs.rcd.model.MockFactory.createMockGroup; public class GroupBinderTransformerTest extends BinderTransformerTest<Group> { public GroupBinderTransformerTest() { super(Group.class); } @Test(dependsOnMethods = "testReverseConvert") public void testConvert() { Group group = createMockGroup(); Document document = binderTransformer.reverseConvert(group); Group result = binderTransformer.convert(document); assertNotNull(result); assertEqualsGroup(result, group); assertEquals(binderTransformer.getPrimaryKey(document), group.getId()); } @Test public void testReverseConvert() { Group group = createMockGroup(); Document document = binderTransformer.reverseConvert(group); assertNotNull(document); { assertEquals(document.getFields().size(), 7 + 2); assertEquals(document.getField(Group.PRIMARY_KEY).stringValue(), group.getId()); assertEquals(document.getField(Group.HISTORY_ID).stringValue(), group.getHistoryId()); assertEquals(document.getField(Group.CHANGE_TYPE).stringValue(), group.getHistory().getEventType().name()); assertNotNull(document.getField(Group.CHANGE_DATE).stringValue()); assertEquals(document.getField(Group.NAME).stringValue(), group.getName()); assertEquals(document.getField(Group.DESCRIPTION).stringValue(), group.getDescription()); assertEquals(document.getField(Group.OWNER).stringValue(), group.getOwner()); assertNotNull(document.getField(LuceneBinderTransformer.OBJECT_FIELD)); assertNotNull(document.getField(LuceneBinderTransformer.DEFAULT_SEARCH_FIELD)); } Term primaryTerm = binderTransformer.getPrimaryKey(group); assertNotNull(primaryTerm); { assertEquals(primaryTerm.field(), Group.PRIMARY_KEY); assertEquals(primaryTerm.text(), group.getId()); } } }