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.Test; 9 10 import static org.assertj.core.api.Assertions.assertThat; 11 12 public class CompactionOptionsUniversalTest { 13 14 static { RocksDB.loadLibrary()15 RocksDB.loadLibrary(); 16 } 17 18 @Test sizeRatio()19 public void sizeRatio() { 20 final int sizeRatio = 4; 21 try(final CompactionOptionsUniversal opt = new CompactionOptionsUniversal()) { 22 opt.setSizeRatio(sizeRatio); 23 assertThat(opt.sizeRatio()).isEqualTo(sizeRatio); 24 } 25 } 26 27 @Test minMergeWidth()28 public void minMergeWidth() { 29 final int minMergeWidth = 3; 30 try(final CompactionOptionsUniversal opt = new CompactionOptionsUniversal()) { 31 opt.setMinMergeWidth(minMergeWidth); 32 assertThat(opt.minMergeWidth()).isEqualTo(minMergeWidth); 33 } 34 } 35 36 @Test maxMergeWidth()37 public void maxMergeWidth() { 38 final int maxMergeWidth = Integer.MAX_VALUE - 1234; 39 try(final CompactionOptionsUniversal opt = new CompactionOptionsUniversal()) { 40 opt.setMaxMergeWidth(maxMergeWidth); 41 assertThat(opt.maxMergeWidth()).isEqualTo(maxMergeWidth); 42 } 43 } 44 45 @Test maxSizeAmplificationPercent()46 public void maxSizeAmplificationPercent() { 47 final int maxSizeAmplificationPercent = 150; 48 try(final CompactionOptionsUniversal opt = new CompactionOptionsUniversal()) { 49 opt.setMaxSizeAmplificationPercent(maxSizeAmplificationPercent); 50 assertThat(opt.maxSizeAmplificationPercent()).isEqualTo(maxSizeAmplificationPercent); 51 } 52 } 53 54 @Test compressionSizePercent()55 public void compressionSizePercent() { 56 final int compressionSizePercent = 500; 57 try(final CompactionOptionsUniversal opt = new CompactionOptionsUniversal()) { 58 opt.setCompressionSizePercent(compressionSizePercent); 59 assertThat(opt.compressionSizePercent()).isEqualTo(compressionSizePercent); 60 } 61 } 62 63 @Test stopStyle()64 public void stopStyle() { 65 final CompactionStopStyle stopStyle = CompactionStopStyle.CompactionStopStyleSimilarSize; 66 try(final CompactionOptionsUniversal opt = new CompactionOptionsUniversal()) { 67 opt.setStopStyle(stopStyle); 68 assertThat(opt.stopStyle()).isEqualTo(stopStyle); 69 } 70 } 71 72 @Test allowTrivialMove()73 public void allowTrivialMove() { 74 final boolean allowTrivialMove = true; 75 try(final CompactionOptionsUniversal opt = new CompactionOptionsUniversal()) { 76 opt.setAllowTrivialMove(allowTrivialMove); 77 assertThat(opt.allowTrivialMove()).isEqualTo(allowTrivialMove); 78 } 79 } 80 } 81