| recover(Path, Path) |   | 72% |   | 50% | 2 | 4 | 5 | 17 | 0 | 1 |
| readAndValidateFooter() |   | 92% |   | 57% | 12 | 15 | 3 | 30 | 0 | 1 |
| next() |   | 93% |   | 80% | 4 | 11 | 2 | 28 | 0 | 1 |
| readHeader() |   | 91% |   | 70% | 6 | 11 | 1 | 15 | 0 | 1 |
| newSha256() |   | 30% | | n/a | 0 | 1 | 2 | 3 | 0 | 1 |
| acceptRecord(int, long, long) |   | 90% |   | 75% | 1 | 3 | 1 | 12 | 0 | 1 |
| AudioBlockRecordingReader(InputStream) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| lambda$recover$1() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$inspect$0() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| handleCorruption(String, Exception) |   | 85% |   | 75% | 1 | 3 | 1 | 8 | 0 | 1 |
| format() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| formatVersion() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| close() |  | 90% |   | 50% | 1 | 2 | 1 | 5 | 0 | 1 |
| AudioBlockRecordingReader(InputStream, boolean) |  | 100% | | n/a | 0 | 1 | 0 | 16 | 0 | 1 |
| toHex(byte[]) |  | 100% |  | 100% | 0 | 2 | 0 | 6 | 0 | 1 |
| readAll(Path) |  | 100% |  | 100% | 0 | 2 | 0 | 7 | 0 | 1 |
| handleTruncation(String, Exception) |  | 100% |  | 100% | 0 | 3 | 0 | 8 | 0 | 1 |
| handleUnexpectedEnd(String, Exception) |  | 100% |   | 75% | 1 | 3 | 0 | 8 | 0 | 1 |
| createInspection(RecordingIntegrity, String, String) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| inspect(Path) |  | 100% |  | 100% | 0 | 2 | 0 | 7 | 0 | 1 |
| open(Path, boolean) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| open(Path) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| inspection() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |