Class AbstractInputStreamAssert<SELF extends AbstractInputStreamAssert<SELF,ACTUAL>,ACTUAL extends InputStream>

java.lang.Object
org.assertj.core.api.AbstractAssert<SELF,ACTUAL>
org.assertj.core.api.AbstractInputStreamAssert<SELF,ACTUAL>
Type Parameters:
SELF - the "self" type of this assertion class. Please read "Emulating 'self types' using Java Generics to simplify fluent API implementation" for more details.
ACTUAL - the type of the "actual" value.
All Implemented Interfaces:
Assert<SELF,ACTUAL>, Descriptable<SELF>, ExtensionPoints<SELF,ACTUAL>
Direct Known Subclasses:
InputStreamAssert

public abstract class AbstractInputStreamAssert<SELF extends AbstractInputStreamAssert<SELF,ACTUAL>,ACTUAL extends InputStream> extends AbstractAssert<SELF,ACTUAL>
Base class for all implementations of assertions for InputStreams.
Author:
Matthieu Baechler, Mikhail Mazursky, Stefan Birkner
  • Constructor Details

    • AbstractInputStreamAssert

      protected AbstractInputStreamAssert(ACTUAL actual, Class<?> selfType)
  • Method Details

    • asString

      public AbstractStringAssert<?> asString(Charset charset)
      Converts the content of the actual InputStream to a String by decoding its bytes using the given charset and returns assertions for the computed String allowing String specific assertions from this call.

      Example :

       InputStream abcInputStream = new ByteArrayInputStream("abc".getBytes());
      
       // assertion succeeds
       assertThat(abcInputStream).asString(UTF_8)
                                 .startsWith("a");
      
       // assertion fails
       assertThat(abcInputStream).asString(UTF_8)
                                 .startsWith("e");
      Parameters:
      charset - the Charset to interpret the InputStream's content to a String
      Returns:
      a string assertion object.
      Throws:
      NullPointerException - if the given Charset is null.
      AssertionError - if the actual InputStream is null.
      org.assertj.core.internal.InputStreamsException - if an I/O error occurs.
      Since:
      3.20.0
    • hasContentEqualTo

      @Deprecated public SELF hasContentEqualTo(InputStream expected)
      Deprecated.
      Verifies that the content of the actual InputStream is equal to the content of the given one.
      Parameters:
      expected - the given InputStream to compare the actual InputStream to.
      Returns:
      this assertion object.
      Throws:
      NullPointerException - if the given InputStream is null.
      AssertionError - if the actual InputStream is null.
      AssertionError - if the content of the actual InputStream is not equal to the content of the given one.
      org.assertj.core.internal.InputStreamsException - if an I/O error occurs.
    • hasSameContentAs

      public SELF hasSameContentAs(InputStream expected)
      Verifies that the content of the actual InputStream is equal to the content of the given one.

      Example:

       // assertion will pass
       assertThat(new ByteArrayInputStream(new byte[] {0xa})).hasSameContentAs(new ByteArrayInputStream(new byte[] {0xa}));
      
       // assertions will fail
       assertThat(new ByteArrayInputStream(new byte[] {0xa})).hasSameContentAs(new ByteArrayInputStream(new byte[] {}));
       assertThat(new ByteArrayInputStream(new byte[] {0xa})).hasSameContentAs(new ByteArrayInputStream(new byte[] {0xa, 0xc, 0xd}));
      Parameters:
      expected - the given InputStream to compare the actual InputStream to.
      Returns:
      this assertion object.
      Throws:
      NullPointerException - if the given InputStream is null.
      AssertionError - if the actual InputStream is null.
      AssertionError - if the content of the actual InputStream is not equal to the content of the given one.
      org.assertj.core.internal.InputStreamsException - if an I/O error occurs.
    • isEmpty

      public SELF isEmpty()
      Verifies that the content of the actual InputStream is empty.

      Warning: this will consume the first byte of the InputStream.

      Example:

       // assertion will pass
       assertThat(new ByteArrayInputStream(new byte[] {})).isEmpty());
      
       // assertions will fail
       assertThat(new ByteArrayInputStream(new byte[] {0xa})).isEmpty(); 
      Returns:
      this assertion object.
      Throws:
      NullPointerException - if the given InputStream is null.
      AssertionError - if the content of the actual InputStream is not empty.
      UncheckedIOException - if an I/O error occurs.
      Since:
      3.17.0
    • isNotEmpty

      public SELF isNotEmpty()
      Verifies that the content of the actual InputStream is not empty.

      Warning: this will consume the first byte of the InputStream.

      Example:

       // assertion will pass
       assertThat(new ByteArrayInputStream(new byte[] {0xa})).isNotEmpty());
      
       // assertions will fail
       assertThat(new ByteArrayInputStream(new byte[] {})).isNotEmpty();
      Returns:
      this assertion object.
      Throws:
      NullPointerException - if the given InputStream is null.
      AssertionError - if the content of the actual InputStream is empty.
      UncheckedIOException - if an I/O error occurs.
      Since:
      3.17.0
    • hasContent

      public SELF hasContent(String expected)
      Verifies that the content of the actual InputStream is equal to the given String.

      Example:

       // assertion will pass
       assertThat(new ByteArrayInputStream("a".getBytes())).hasContent("a");
      
       // assertions will fail
       assertThat(new ByteArrayInputStream("a".getBytes())).hasContent("");
       assertThat(new ByteArrayInputStream("a".getBytes())).hasContent("ab");
      Parameters:
      expected - the given String to compare the actual InputStream to.
      Returns:
      this assertion object.
      Throws:
      NullPointerException - if the given String is null.
      AssertionError - if the actual InputStream is null.
      AssertionError - if the content of the actual InputStream is not equal to the given String.
      org.assertj.core.internal.InputStreamsException - if an I/O error occurs.
      Since:
      3.11.0
    • hasBinaryContent

      public SELF hasBinaryContent(byte[] expected)
      Verifies that the binary content of the actual InputStream is exactly equal to the given one.

      Example:

       InputStream inputStream = new ByteArrayInputStream(new byte[] {1, 2});
      
       // assertion will pass
       assertThat(inputStream).hasContent(new byte[] {1, 2});
      
       // assertions will fail
       assertThat(inputStream).hasBinaryContent(new byte[] { });
       assertThat(inputStream).hasBinaryContent(new byte[] {0, 0});
      Parameters:
      expected - the expected binary content to compare the actual InputStream's content to.
      Returns:
      this assertion object.
      Throws:
      NullPointerException - if the given content is null.
      AssertionError - if the actual InputStream is null.
      AssertionError - if the content of the actual InputStream is not equal to the given binary content.
      org.assertj.core.internal.InputStreamsException - if an I/O error occurs.
      Since:
      3.16.0
    • hasDigest

      public SELF hasDigest(MessageDigest digest, byte[] expected)
      Verifies that the tested InputStream digest (calculated with the specified MessageDigest) is equal to the given one.

      Examples:

       // assume that assertj-core-2.9.0.jar was downloaded from https://repo1.maven.org/maven2/org/assertj/assertj-core/2.9.0/assertj-core-2.9.0.jar
       InputStream tested = new FileInputStream(new File("assertj-core-2.9.0.jar"));
      
       // The following assertions succeed:
       assertThat(tested).hasDigest(MessageDigest.getInstance("SHA1"), new byte[]{92, 90, -28, 91, 88, -15, 32, 35, -127, 122, -66, 73, 36, 71, -51, -57, -111, 44, 26, 44});
       assertThat(tested).hasDigest(MessageDigest.getInstance("MD5"), new byte[]{-36, -77, 1, 92, -46, -124, 71, 100, 76, -127, 10, -13, 82, -125, 44, 25});
      
       // The following assertions fail:
       assertThat(tested).hasDigest(MessageDigest.getInstance("SHA1"), "93b9ced2ee5b3f0f4c8e640e77470dab031d4cad".getBytes());
       assertThat(tested).hasDigest(MessageDigest.getInstance("MD5"), "3735dff8e1f9df0492a34ef075205b8f".getBytes());
      Parameters:
      digest - the MessageDigest used to calculate the digests.
      expected - the expected binary content to compare the actual InputStream's digest to.
      Returns:
      this assertion object.
      Throws:
      NullPointerException - if the given algorithm is null.
      NullPointerException - if the given digest is null.
      AssertionError - if the actual InputStream is null.
      AssertionError - if the actual InputStream is not readable.
      org.assertj.core.internal.InputStreamsException - if an I/O error occurs.
      AssertionError - if the content of the tested InputStream's digest is not equal to the given one.
      Since:
      3.11.0
    • hasDigest

      public SELF hasDigest(MessageDigest digest, String expected)
      Verifies that the tested InputStream digest (calculated with the specified MessageDigest) is equal to the given one.

      Examples:

       // assume that assertj-core-2.9.0.jar was downloaded from https://repo1.maven.org/maven2/org/assertj/assertj-core/2.9.0/assertj-core-2.9.0.jar
       InputStream tested = new FileInputStream(new File("assertj-core-2.9.0.jar"));
      
       // The following assertions succeed:
       assertThat(tested).hasDigest(MessageDigest.getInstance("SHA1"), "5c5ae45b58f12023817abe492447cdc7912c1a2c");
       assertThat(tested).hasDigest(MessageDigest.getInstance("MD5"), "dcb3015cd28447644c810af352832c19");
      
       // The following assertions fail:
       assertThat(tested).hasDigest(MessageDigest.getInstance("SHA1"), "93b9ced2ee5b3f0f4c8e640e77470dab031d4cad");
       assertThat(tested).hasDigest(MessageDigest.getInstance("MD5"), "3735dff8e1f9df0492a34ef075205b8f");
      Parameters:
      digest - the MessageDigest used to calculate the digests.
      expected - the expected binary content to compare the actual InputStream's digest to.
      Returns:
      this assertion object.
      Throws:
      NullPointerException - if the given algorithm is null.
      NullPointerException - if the given digest is null.
      AssertionError - if the actual InputStream is null.
      AssertionError - if the actual InputStream is not readable.
      org.assertj.core.internal.InputStreamsException - if an I/O error occurs.
      AssertionError - if the content of the tested InputStream's digest is not equal to the given one.
      Since:
      3.11.0
    • hasDigest

      public SELF hasDigest(String algorithm, byte[] expected)
      Verifies that the tested InputStream digest (calculated with the specified algorithm) is equal to the given one.

      Examples:

       // assume that assertj-core-2.9.0.jar was downloaded from https://repo1.maven.org/maven2/org/assertj/assertj-core/2.9.0/assertj-core-2.9.0.jar
       InputStream tested = new FileInputStream(new File("assertj-core-2.9.0.jar"));
      
       // The following assertion succeeds:
       assertThat(tested).hasDigest("SHA1", new byte[]{92, 90, -28, 91, 88, -15, 32, 35, -127, 122, -66, 73, 36, 71, -51, -57, -111, 44, 26, 44});
       assertThat(tested).hasDigest("MD5", new byte[]{-36, -77, 1, 92, -46, -124, 71, 100, 76, -127, 10, -13, 82, -125, 44, 25});
      
       // The following assertion fails:
       assertThat(tested).hasDigest("SHA1", "93b9ced2ee5b3f0f4c8e640e77470dab031d4cad".getBytes());
       assertThat(tested).hasDigest("MD5", "3735dff8e1f9df0492a34ef075205b8f".getBytes()); 
      Parameters:
      algorithm - the algorithm used to calculate the digests.
      expected - the expected binary content to compare the actual InputStream's content to.
      Returns:
      this assertion object.
      Throws:
      NullPointerException - if the given algorithm is null.
      NullPointerException - if the given digest is null.
      AssertionError - if the actual InputStream is null.
      AssertionError - if the actual InputStream is not readable.
      org.assertj.core.internal.InputStreamsException - if an I/O error occurs.
      AssertionError - if the content of the tested InputStream's digest is not equal to the given one.
      Since:
      3.11.0
    • hasDigest

      public SELF hasDigest(String algorithm, String expected)
      Verifies that the tested InputStream digest (calculated with the specified algorithm) is equal to the given one.

      Examples:

       // assume that assertj-core-2.9.0.jar was downloaded from https://repo1.maven.org/maven2/org/assertj/assertj-core/2.9.0/assertj-core-2.9.0.jar
       InputStream tested = new FileInputStream(new File("assertj-core-2.9.0.jar"));
      
       // The following assertion succeeds:
       assertThat(tested).hasDigest("SHA1", "5c5ae45b58f12023817abe492447cdc7912c1a2c");
       assertThat(tested).hasDigest("MD5", "dcb3015cd28447644c810af352832c19");
      
       // The following assertion fails:
       assertThat(tested).hasDigest("SHA1", "93b9ced2ee5b3f0f4c8e640e77470dab031d4cad");
       assertThat(tested).hasDigest("MD5", "3735dff8e1f9df0492a34ef075205b8f"); 
      Parameters:
      algorithm - the algorithm used to calculate the digests.
      expected - the expected binary content to compare the actual InputStream's content to.
      Returns:
      this assertion object.
      Throws:
      NullPointerException - if the given algorithm is null.
      NullPointerException - if the given digest is null.
      AssertionError - if the actual InputStream is null.
      AssertionError - if the actual InputStream is not readable.
      org.assertj.core.internal.InputStreamsException - if an I/O error occurs.
      AssertionError - if the content of the tested InputStream's digest is not equal to the given one.
      Since:
      3.11.0