Skip to content

Commit a82d7f2

Browse files
committed
Add more test coverage
1 parent fb08779 commit a82d7f2

File tree

3 files changed

+24
-16
lines changed

3 files changed

+24
-16
lines changed

src/main/java/org/lmdbjava/Env.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,6 @@ public static <T> Builder<T> create(final BufferProxy<T> proxy) {
115115
*/
116116
@Deprecated
117117
public static Env<ByteBuffer> open(final File path, final int size, final EnvFlags... flags) {
118-
119118
return new Builder<>(PROXY_OPTIMAL)
120119
.setMapSize(size, ByteUnit.MEBIBYTES)
121120
.open(path, flags);
@@ -678,13 +677,15 @@ public static final class Builder<T> {
678677

679678
static final int MAX_READERS_DEFAULT = 126;
680679
static final long MAP_SIZE_DEFAULT = ByteUnit.MEBIBYTES.toBytes(1);
680+
static final int POSIX_MODE_DEFAULT = 0664;
681+
681682
private long mapSize = MAP_SIZE_DEFAULT;
682683
private int maxDbs = 1;
683684
private int maxReaders = MAX_READERS_DEFAULT;
684685
private boolean opened;
685686
private final BufferProxy<T> proxy;
686-
private int mode = 0664;
687-
private AbstractFlagSet.Builder<EnvFlags, EnvFlagSet> flagSetBuilder = EnvFlagSet.builder();
687+
private int mode = POSIX_MODE_DEFAULT;
688+
private final AbstractFlagSet.Builder<EnvFlags, EnvFlagSet> flagSetBuilder = EnvFlagSet.builder();
688689

689690
Builder(final BufferProxy<T> proxy) {
690691
requireNonNull(proxy);

src/main/java/org/lmdbjava/FlagSet.java

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,11 @@ default int getMaskWith(final FlagSet<T> other) {
5555
*/
5656
boolean isSet(T flag);
5757

58+
/**
59+
* @return The number of flags in this set.
60+
*/
61+
int size();
62+
5863
/**
5964
* @return True if at least one of flags are included in thie {@link FlagSet}
6065
*/
@@ -71,19 +76,11 @@ default boolean areAnySet(final FlagSet<T> flags) {
7176
return false;
7277
}
7378

74-
/**
75-
* @return The size of this {@link FlagSet}
76-
*/
77-
default int size() {
78-
return getFlags().size();
79-
}
8079

8180
/**
8281
* @return True if this {@link FlagSet} is empty.
8382
*/
84-
default boolean isEmpty() {
85-
return getFlags().isEmpty();
86-
}
83+
boolean isEmpty();
8784

8885
/**
8986
* @return The {@link Iterator} (in no particular order) for the flags in this {@link FlagSet}.

src/test/java/org/lmdbjava/AbstractFlagSetTest.java

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,6 @@ T getFirst() {
4545
return getAllFlags().get(0);
4646
}
4747

48-
int getFlagCount() {
49-
return getAllFlags().size();
50-
}
51-
5248
@Test
5349
void testEmpty() {
5450
final F emptyFlagSet = getEmptyFlagSet();
@@ -81,6 +77,12 @@ void testSingleFlagSet() {
8177
.containsExactly(flag);
8278
assertThat(flagSet.size())
8379
.isEqualTo(1);
80+
assertThat(FlagSet.equals(flagSet, new Object()))
81+
.isFalse();
82+
assertThat(FlagSet.equals(flagSet, null))
83+
.isFalse();
84+
assertThat(FlagSet.equals(flag, flag))
85+
.isTrue();
8486
assertThat(FlagSet.equals(flagSet, flag))
8587
.isTrue();
8688
assertThat(FlagSet.equals(flagSet, getFlagSet(flag)))
@@ -89,6 +91,10 @@ void testSingleFlagSet() {
8991
.isTrue();
9092
assertThat(flagSet.areAnySet(flag))
9193
.isTrue();
94+
assertThat(flagSet.areAnySet(null))
95+
.isFalse();
96+
assertThat(flagSet.areAnySet(getEmptyFlagSet()))
97+
.isFalse();
9298
assertThat(flagSet.isSet(getFirst()))
9399
.isEqualTo(getFirst() == flag);
94100
if (getFirst() == flag) {
@@ -97,11 +103,15 @@ void testSingleFlagSet() {
97103
} else {
98104
assertThat(flagSet.getMask())
99105
.isNotEqualTo(MaskedFlag.mask(getFirst()));
106+
assertThat(flagSet.getMaskWith(getFirst()))
107+
.isEqualTo(MaskedFlag.mask(flag, getFirst()));
100108
}
101109
assertThat(flagSet.toString())
102110
.isNotNull();
103111
assertThat(flag.name())
104112
.isNotNull();
113+
assertThat(flagSet.getMaskWith(null))
114+
.isEqualTo(flagSet.getMask());
105115
}
106116
}
107117

0 commit comments

Comments
 (0)