blob: f631905e19f464c433984e3c8079cf3fca67948e [file] [log] [blame]
// Copyright (c) 2011-present, Facebook, Inc. All rights reserved.
// This source code is licensed under both the GPLv2 (found in the
// COPYING file in the root directory) and Apache 2.0 License
// (found in the LICENSE.Apache file in the root directory).
package org.rocksdb;
import org.junit.Test;
import org.rocksdb.MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder;
import java.util.NoSuchElementException;
import static org.assertj.core.api.Assertions.assertThat;
public class MutableColumnFamilyOptionsTest {
@Test
public void builder() {
final MutableColumnFamilyOptionsBuilder builder =
MutableColumnFamilyOptions.builder();
builder
.setWriteBufferSize(10)
.setInplaceUpdateNumLocks(5)
.setDisableAutoCompactions(true)
.setParanoidFileChecks(true);
assertThat(builder.writeBufferSize()).isEqualTo(10);
assertThat(builder.inplaceUpdateNumLocks()).isEqualTo(5);
assertThat(builder.disableAutoCompactions()).isEqualTo(true);
assertThat(builder.paranoidFileChecks()).isEqualTo(true);
}
@Test(expected = NoSuchElementException.class)
public void builder_getWhenNotSet() {
final MutableColumnFamilyOptionsBuilder builder =
MutableColumnFamilyOptions.builder();
builder.writeBufferSize();
}
@Test
public void builder_build() {
final MutableColumnFamilyOptions options = MutableColumnFamilyOptions
.builder()
.setWriteBufferSize(10)
.setParanoidFileChecks(true)
.build();
assertThat(options.getKeys().length).isEqualTo(2);
assertThat(options.getValues().length).isEqualTo(2);
assertThat(options.getKeys()[0])
.isEqualTo(
MutableColumnFamilyOptions.MemtableOption.write_buffer_size.name());
assertThat(options.getValues()[0]).isEqualTo("10");
assertThat(options.getKeys()[1])
.isEqualTo(
MutableColumnFamilyOptions.MiscOption.paranoid_file_checks.name());
assertThat(options.getValues()[1]).isEqualTo("true");
}
@Test
public void mutableColumnFamilyOptions_toString() {
final String str = MutableColumnFamilyOptions
.builder()
.setWriteBufferSize(10)
.setInplaceUpdateNumLocks(5)
.setDisableAutoCompactions(true)
.setParanoidFileChecks(true)
.build()
.toString();
assertThat(str).isEqualTo("write_buffer_size=10;inplace_update_num_locks=5;"
+ "disable_auto_compactions=true;paranoid_file_checks=true");
}
@Test
public void mutableColumnFamilyOptions_parse() {
final String str = "write_buffer_size=10;inplace_update_num_locks=5;"
+ "disable_auto_compactions=true;paranoid_file_checks=true";
final MutableColumnFamilyOptionsBuilder builder =
MutableColumnFamilyOptions.parse(str);
assertThat(builder.writeBufferSize()).isEqualTo(10);
assertThat(builder.inplaceUpdateNumLocks()).isEqualTo(5);
assertThat(builder.disableAutoCompactions()).isEqualTo(true);
assertThat(builder.paranoidFileChecks()).isEqualTo(true);
}
}