ByteInputStream.java

1
// Copyright (c) 2014-2018, Yubico AB
2
// All rights reserved.
3
//
4
// Redistribution and use in source and binary forms, with or without
5
// modification, are permitted provided that the following conditions are met:
6
//
7
// 1. Redistributions of source code must retain the above copyright notice, this
8
//    list of conditions and the following disclaimer.
9
//
10
// 2. Redistributions in binary form must reproduce the above copyright notice,
11
//    this list of conditions and the following disclaimer in the documentation
12
//    and/or other materials provided with the distribution.
13
//
14
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
15
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
17
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
18
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
20
// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
21
// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
22
// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
23
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24
25
package com.yubico.internal.util;
26
27
import java.io.ByteArrayInputStream;
28
import java.io.DataInputStream;
29
import java.io.IOException;
30
31
/** Provides an easy way to read a byte array in chunks. */
32
public class ByteInputStream extends DataInputStream {
33
34
  public ByteInputStream(byte[] data) {
35
    super(new ByteArrayInputStream(data));
36
  }
37
38
  public byte[] read(int numberOfBytes) throws IOException {
39
    byte[] readBytes = new byte[numberOfBytes];
40 1 1. read : removed call to com/yubico/internal/util/ByteInputStream::readFully → NO_COVERAGE
    readFully(readBytes);
41 1 1. read : replaced return value with null for com/yubico/internal/util/ByteInputStream::read → NO_COVERAGE
    return readBytes;
42
  }
43
44
  public byte[] readAll() throws IOException {
45
    byte[] readBytes = new byte[available()];
46 1 1. readAll : removed call to com/yubico/internal/util/ByteInputStream::readFully → NO_COVERAGE
    readFully(readBytes);
47 1 1. readAll : replaced return value with null for com/yubico/internal/util/ByteInputStream::readAll → NO_COVERAGE
    return readBytes;
48
  }
49
50
  public int readInteger() throws IOException {
51 1 1. readInteger : replaced int return with 0 for com/yubico/internal/util/ByteInputStream::readInteger → NO_COVERAGE
    return readInt();
52
  }
53
54
  public byte readSigned() throws IOException {
55 1 1. readSigned : replaced byte return with 0 for com/yubico/internal/util/ByteInputStream::readSigned → NO_COVERAGE
    return readByte();
56
  }
57
58
  public int readUnsigned() throws IOException {
59 1 1. readUnsigned : replaced int return with 0 for com/yubico/internal/util/ByteInputStream::readUnsigned → NO_COVERAGE
    return readUnsignedByte();
60
  }
61
}

Mutations

40

1.1
Location : read
Killed by : none
removed call to com/yubico/internal/util/ByteInputStream::readFully → NO_COVERAGE

41

1.1
Location : read
Killed by : none
replaced return value with null for com/yubico/internal/util/ByteInputStream::read → NO_COVERAGE

46

1.1
Location : readAll
Killed by : none
removed call to com/yubico/internal/util/ByteInputStream::readFully → NO_COVERAGE

47

1.1
Location : readAll
Killed by : none
replaced return value with null for com/yubico/internal/util/ByteInputStream::readAll → NO_COVERAGE

51

1.1
Location : readInteger
Killed by : none
replaced int return with 0 for com/yubico/internal/util/ByteInputStream::readInteger → NO_COVERAGE

55

1.1
Location : readSigned
Killed by : none
replaced byte return with 0 for com/yubico/internal/util/ByteInputStream::readSigned → NO_COVERAGE

59

1.1
Location : readUnsigned
Killed by : none
replaced int return with 0 for com/yubico/internal/util/ByteInputStream::readUnsigned → NO_COVERAGE

Active mutators

Tests examined


Report generated by PIT 1.15.0