From 1a604d8c79f18b42893e0b5ae6d16db260c1671b Mon Sep 17 00:00:00 2001 From: Ehren Kret Date: Tue, 18 May 2021 10:25:44 -0500 Subject: [PATCH] Add unit test to readU16 --- .../MultiRecipientMessageProvider.java | 4 +- .../MultiRecipientMessageProviderTest.java | 44 +++++++++++++++++++ 2 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 service/src/test/java/org/whispersystems/textsecuregcm/providers/MultiRecipientMessageProviderTest.java diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/providers/MultiRecipientMessageProvider.java b/service/src/main/java/org/whispersystems/textsecuregcm/providers/MultiRecipientMessageProvider.java index da9029899..668a4a91e 100644 --- a/service/src/main/java/org/whispersystems/textsecuregcm/providers/MultiRecipientMessageProvider.java +++ b/service/src/main/java/org/whispersystems/textsecuregcm/providers/MultiRecipientMessageProvider.java @@ -5,6 +5,7 @@ package org.whispersystems.textsecuregcm.providers; +import com.google.common.annotations.VisibleForTesting; import io.dropwizard.util.DataSizeUnit; import java.io.IOException; import java.io.InputStream; @@ -132,7 +133,8 @@ public class MultiRecipientMessageProvider implements MessageBodyReader readU16TestCases() { + return Stream.of( + arguments(0xFFFE, createTwoByteArray(0xFF, 0xFE)), + arguments(0x0001, createTwoByteArray(0x00, 0x01)), + arguments(0xBEEF, createTwoByteArray(0xBE, 0xEF)), + arguments(0xFFFF, createTwoByteArray(0xFF, 0xFF)), + arguments(0x0000, createTwoByteArray(0x00, 0x00)), + arguments(0xF080, createTwoByteArray(0xF0, 0x80)) + ); + } + + @ParameterizedTest + @MethodSource("readU16TestCases") + void testReadU16(int expectedValue, byte[] input) throws Exception { + try (final ByteArrayInputStream stream = new ByteArrayInputStream(input)) { + assertThat(MultiRecipientMessageProvider.readU16(stream)).isEqualTo(expectedValue); + } + } + + + +}