@ -5,7 +5,6 @@
package org.rocksdb.test ;
import org.rocksdb.RocksDB ;
import org.rocksdb.RocksDBException ;
import org.rocksdb.WriteBatch ;
@ -13,9 +12,9 @@ import java.io.IOException;
import java.util.ArrayList ;
import java.util.Arrays ;
import java.util.List ;
import org.junit.ClassRule ;
import org.junit.Test ;
import org.rocksdb.WriteOptions ;
import static org.assertj.core.api.Assertions.assertThat ;
@ -27,7 +26,9 @@ public class WriteBatchHandlerTest {
@Test
public void writeBatchHandler ( ) throws IOException , RocksDBException {
WriteBatch batch = null ;
CapturingWriteBatchHandler handler = null ;
try {
// setup test data
final List < Tuple < Action , Tuple < byte [ ] , byte [ ] > > > testEvents = new ArrayList < > ( ) ;
testEvents . add ( new Tuple < > ( Action . DELETE ,
@ -46,7 +47,7 @@ public class WriteBatchHandlerTest {
new Tuple < byte [ ] , byte [ ] > ( "k3" . getBytes ( ) , null ) ) ) ;
// load test data to the write batch
final WriteBatch batch = new WriteBatch ( ) ;
batch = new WriteBatch ( ) ;
for ( final Tuple < Action , Tuple < byte [ ] , byte [ ] > > testEvent : testEvents ) {
final Tuple < byte [ ] , byte [ ] > data = testEvent . value ;
switch ( testEvent . key ) {
@ -70,7 +71,7 @@ public class WriteBatchHandlerTest {
}
// attempt to read test data back from the WriteBatch by iterating with a handler
final CapturingWriteBatchHandler handler = new CapturingWriteBatchHandler ( ) ;
handler = new CapturingWriteBatchHandler ( ) ;
batch . iterate ( handler ) ;
// compare the results to the test data
@ -80,8 +81,14 @@ public class WriteBatchHandlerTest {
for ( int i = 0 ; i < testEvents . size ( ) ; i + + ) {
assertThat ( equals ( testEvents . get ( i ) , actualEvents . get ( i ) ) ) . isTrue ( ) ;
}
System . out . println ( "Passed WriteBatchHandler Test" ) ;
} finally {
if ( handler ! = null ) {
handler . dispose ( ) ;
}
if ( batch ! = null ) {
batch . dispose ( ) ;
}
}
}
private static boolean equals ( final Tuple < Action , Tuple < byte [ ] , byte [ ] > > expected ,
@ -93,11 +100,8 @@ public class WriteBatchHandlerTest {
final Tuple < byte [ ] , byte [ ] > expectedData = expected . value ;
final Tuple < byte [ ] , byte [ ] > actualData = actual . value ;
if ( equals ( expectedData . key , actualData . key ) ) {
return equals ( expectedData . value , actualData . value ) ;
} else {
return false ;
}
return equals ( expectedData . key , actualData . key )
& & equals ( expectedData . value , actualData . value ) ;
}
private static boolean equals ( byte [ ] expected , byte [ ] actual ) {