package mil.nga.giat.geowave.core.store.adapter; import java.util.ArrayList; import junit.framework.Assert; import mil.nga.giat.geowave.core.index.PersistenceUtils; import mil.nga.giat.geowave.core.store.adapter.MockComponents.MockAbstractDataAdapter; import mil.nga.giat.geowave.core.store.adapter.MockComponents.TestNativeFieldHandler; import mil.nga.giat.geowave.core.store.adapter.MockComponents.TestPersistentIndexFieldHandler; import mil.nga.giat.geowave.core.store.data.PersistentDataset; import mil.nga.giat.geowave.core.store.index.CommonIndexValue; import mil.nga.giat.geowave.core.store.index.PrimaryIndex; import org.junit.Test; public class AbstractDataAdapterTest { public static void main( final String[] args ) { new AbstractDataAdapterTest().testAbstractDataAdapterPersistance(); } @Test // ************************************************************************* // // Test encode(..) and decode(..) methods of AbstractDataAdapter via // instantiation of MockAbstractDataAdapterTest. // // ************************************************************************* public void testAbstractDataAdapterEncodeDecode() { // To instantiate MockAbstractDataAdapter, need to create // array of indexFieldHandlers and array of nativeFieldHandlers. final ArrayList<PersistentIndexFieldHandler<Integer, ? extends CommonIndexValue, Object>> indexFieldHandlers = new ArrayList<PersistentIndexFieldHandler<Integer, ? extends CommonIndexValue, Object>>(); indexFieldHandlers.add(new MockComponents.TestPersistentIndexFieldHandler()); final ArrayList<NativeFieldHandler<Integer, Object>> nativeFieldHandlers = new ArrayList<NativeFieldHandler<Integer, Object>>(); nativeFieldHandlers.add(new MockComponents.TestNativeFieldHandler()); final MockComponents.MockAbstractDataAdapter mockAbstractDataAdapter = new MockComponents.MockAbstractDataAdapter( indexFieldHandlers, nativeFieldHandlers); final MockComponents.TestIndexModel testIndexModel = new MockComponents.TestIndexModel(); final Integer beforeValue = 123456; final AdapterPersistenceEncoding testEncoding = mockAbstractDataAdapter.encode( beforeValue, testIndexModel); final Integer afterValue = mockAbstractDataAdapter.decode( new IndexedAdapterPersistenceEncoding( testEncoding.getAdapterId(), testEncoding.getDataId(), null, 1, testEncoding.getCommonData(), new PersistentDataset<byte[]>(), testEncoding.getAdapterExtendedData()), new PrimaryIndex( null, testIndexModel)); Assert.assertEquals( "EncodeDecode_test", beforeValue, afterValue); } @Test public void testAbstractDataAdapterPersistance() { final ArrayList<PersistentIndexFieldHandler<Integer, ? extends CommonIndexValue, Object>> indexFieldHandlers = new ArrayList<PersistentIndexFieldHandler<Integer, ? extends CommonIndexValue, Object>>(); indexFieldHandlers.add(new TestPersistentIndexFieldHandler()); final ArrayList<NativeFieldHandler<Integer, Object>> nativeFieldHandlers = new ArrayList<NativeFieldHandler<Integer, Object>>(); nativeFieldHandlers.add(new TestNativeFieldHandler()); final MockAbstractDataAdapter mockAbstractDataAdapter = new MockAbstractDataAdapter( indexFieldHandlers, nativeFieldHandlers); final MockAbstractDataAdapter obj = PersistenceUtils.fromBinary( PersistenceUtils.toBinary(mockAbstractDataAdapter), MockAbstractDataAdapter.class); // TODO is there another test? Assert.assertNotNull(obj); } }