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