1 // Copyright (c) 2011-present, Facebook, Inc. All rights reserved. 2 // This source code is licensed under both the GPLv2 (found in the 3 // COPYING file in the root directory) and Apache 2.0 License 4 // (found in the LICENSE.Apache file in the root directory). 5 6 package org.rocksdb; 7 8 import org.junit.ClassRule; 9 import org.junit.Test; 10 11 import java.util.Random; 12 13 import static org.assertj.core.api.Assertions.assertThat; 14 15 public class WriteOptionsTest { 16 17 @ClassRule 18 public static final RocksNativeLibraryResource ROCKS_NATIVE_LIBRARY_RESOURCE = 19 new RocksNativeLibraryResource(); 20 21 public static final Random rand = PlatformRandomHelper. 22 getPlatformSpecificRandomFactory(); 23 24 @Test writeOptions()25 public void writeOptions() { 26 try (final WriteOptions writeOptions = new WriteOptions()) { 27 28 writeOptions.setSync(true); 29 assertThat(writeOptions.sync()).isTrue(); 30 writeOptions.setSync(false); 31 assertThat(writeOptions.sync()).isFalse(); 32 33 writeOptions.setDisableWAL(true); 34 assertThat(writeOptions.disableWAL()).isTrue(); 35 writeOptions.setDisableWAL(false); 36 assertThat(writeOptions.disableWAL()).isFalse(); 37 38 39 writeOptions.setIgnoreMissingColumnFamilies(true); 40 assertThat(writeOptions.ignoreMissingColumnFamilies()).isTrue(); 41 writeOptions.setIgnoreMissingColumnFamilies(false); 42 assertThat(writeOptions.ignoreMissingColumnFamilies()).isFalse(); 43 44 writeOptions.setNoSlowdown(true); 45 assertThat(writeOptions.noSlowdown()).isTrue(); 46 writeOptions.setNoSlowdown(false); 47 assertThat(writeOptions.noSlowdown()).isFalse(); 48 49 writeOptions.setLowPri(true); 50 assertThat(writeOptions.lowPri()).isTrue(); 51 writeOptions.setLowPri(false); 52 assertThat(writeOptions.lowPri()).isFalse(); 53 } 54 } 55 56 @Test copyConstructor()57 public void copyConstructor() { 58 WriteOptions origOpts = new WriteOptions(); 59 origOpts.setDisableWAL(rand.nextBoolean()); 60 origOpts.setIgnoreMissingColumnFamilies(rand.nextBoolean()); 61 origOpts.setSync(rand.nextBoolean()); 62 WriteOptions copyOpts = new WriteOptions(origOpts); 63 assertThat(origOpts.disableWAL()).isEqualTo(copyOpts.disableWAL()); 64 assertThat(origOpts.ignoreMissingColumnFamilies()).isEqualTo( 65 copyOpts.ignoreMissingColumnFamilies()); 66 assertThat(origOpts.sync()).isEqualTo(copyOpts.sync()); 67 } 68 69 } 70