Skip to content

Commit e5c5b98

Browse files
committed
Add unit tests
Signed-off-by: Andy Qin <qinandy@amazon.com>
1 parent cfb4440 commit e5c5b98

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

libs/core/src/test/java/org/opensearch/core/common/io/stream/BaseStreamTests.java

+31
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@
5353
import java.util.Arrays;
5454
import java.util.Collection;
5555
import java.util.Collections;
56+
import java.util.EnumSet;
5657
import java.util.HashMap;
5758
import java.util.HashSet;
5859
import java.util.LinkedHashMap;
@@ -354,6 +355,32 @@ private <T> void runWriteReadCollectionTest(
354355
}
355356
}
356357

358+
public void testOptionalEnumSet() throws IOException {
359+
EnumSet<TestEnum> enumSet = EnumSet.allOf(TestEnum.class);
360+
BytesStreamOutput out = new BytesStreamOutput();
361+
out.writeOptionalEnumSet(enumSet);
362+
EnumSet<TestEnum> targetSet = getStreamInput(out.bytes()).readOptionalEnumSet(TestEnum.class);
363+
assertEquals(enumSet, targetSet);
364+
365+
enumSet = EnumSet.of(TestEnum.A, TestEnum.C, TestEnum.E);
366+
out = new BytesStreamOutput();
367+
out.writeOptionalEnumSet(enumSet);
368+
targetSet = getStreamInput(out.bytes()).readOptionalEnumSet(TestEnum.class);
369+
assertEquals(enumSet, targetSet);
370+
371+
enumSet = EnumSet.noneOf(TestEnum.class);
372+
out = new BytesStreamOutput();
373+
out.writeOptionalEnumSet(enumSet);
374+
targetSet = getStreamInput(out.bytes()).readOptionalEnumSet(TestEnum.class);
375+
assertEquals(enumSet, targetSet);
376+
377+
enumSet = null;
378+
out = new BytesStreamOutput();
379+
out.writeOptionalEnumSet(enumSet);
380+
targetSet = getStreamInput(out.bytes()).readOptionalEnumSet(TestEnum.class);
381+
assertEquals(EnumSet.noneOf(TestEnum.class), targetSet);
382+
}
383+
357384
public void testSetOfLongs() throws IOException {
358385
final int size = randomIntBetween(0, 6);
359386
final Set<Long> sourceSet = new HashSet<>(size);
@@ -540,4 +567,8 @@ private void assertGenericRoundtrip(Object original) throws IOException {
540567
});
541568
}
542569

570+
571+
private enum TestEnum {
572+
A, B, C, D, E;
573+
}
543574
}

0 commit comments

Comments
 (0)