| createCommand(CommandType, Object) |   | 22% |   | 11% | 17 | 20 | 11 | 15 | 0 | 1 |
| matchesQueryResponse(ProtocolQuerySpec, byte[]) |  | 0% |  | 0% | 14 | 14 | 10 | 10 | 1 | 1 |
| isDeviceReady(EUCData) |  | 0% |  | 0% | 3 | 3 | 1 | 1 | 1 | 1 |
| getServiceUUID() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getDataCharacteristicUUID() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getWriteCharacteristicUUID() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getCommandSupport(CommandType) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getRawFrameFlow() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getSupportedCommandTypes() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getBMSData() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getPollingPlan() |  | 100% | | n/a | 0 | 1 | 0 | 46 | 0 | 1 |
| static {...} |  | 100% | | n/a | 0 | 1 | 0 | 7 | 0 | 1 |
| NinebotZProtocol() |  | 100% | | n/a | 0 | 1 | 0 | 19 | 0 | 1 |
| canHandle(EUCDevice) |  | 100% |   | 91% | 1 | 7 | 0 | 8 | 0 | 1 |
| buildActionCommand(int, int) |  | 100% | | n/a | 0 | 1 | 0 | 7 | 0 | 1 |
| checksum(byte[]) |  | 100% |  | 100% | 0 | 2 | 0 | 4 | 0 | 1 |
| buildQueryCommand(int) |  | 100% | | n/a | 0 | 1 | 0 | 6 | 0 | 1 |
| decode(byte[]) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| looksLikeMyFrames(byte[]) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| close() |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| getManufacturer() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getSupportedModels() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getDataFlow() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getWriteFlow() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |