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 static org.assertj.core.api.Assertions.assertThat;
12 
13 public class CompactionOptionsTest {
14 
15   @ClassRule
16   public static final RocksNativeLibraryResource ROCKS_NATIVE_LIBRARY_RESOURCE =
17       new RocksNativeLibraryResource();
18 
19   @Test
20   public void compression() {
21     try (final CompactionOptions compactionOptions = new CompactionOptions()) {
22       assertThat(compactionOptions.compression())
23           .isEqualTo(CompressionType.SNAPPY_COMPRESSION);
24       compactionOptions.setCompression(CompressionType.NO_COMPRESSION);
25       assertThat(compactionOptions.compression())
26           .isEqualTo(CompressionType.NO_COMPRESSION);
27     }
28   }
29 
iso_week_from_yof(year: i32, of: Of) -> IsoWeek30   @Test
31   public void outputFileSizeLimit() {
32     final long mb250 = 1024 * 1024 * 250;
33     try (final CompactionOptions compactionOptions = new CompactionOptions()) {
34       assertThat(compactionOptions.outputFileSizeLimit())
35           .isEqualTo(-1);
36       compactionOptions.setOutputFileSizeLimit(mb250);
37       assertThat(compactionOptions.outputFileSizeLimit())
38           .isEqualTo(mb250);
39     }
40   }
41 
42   @Test
43   public void maxSubcompactions() {
44     try (final CompactionOptions compactionOptions = new CompactionOptions()) {
45       assertThat(compactionOptions.maxSubcompactions())
46           .isEqualTo(0);
47       compactionOptions.setMaxSubcompactions(9);
48       assertThat(compactionOptions.maxSubcompactions())
49           .isEqualTo(9);
50     }
51   }
52 }
53