| readPolyLineZ(ObjectEndianInputStream, int, boolean) |  | 0% |  | 0% | 5 | 5 | 22 | 22 | 1 | 1 |
| readPolygonZ(ObjectEndianInputStream, int, boolean) |  | 0% |  | 0% | 5 | 5 | 22 | 22 | 1 | 1 |
| readPolyLineM(ObjectEndianInputStream, int, boolean) |  | 0% |  | 0% | 5 | 5 | 22 | 22 | 1 | 1 |
| readPolygonM(ObjectEndianInputStream, int, boolean) |  | 0% |  | 0% | 5 | 5 | 22 | 22 | 1 | 1 |
| readShape(ObjectEndianInputStream, int, int, int, boolean) |   | 34% |   | 23% | 16 | 18 | 13 | 21 | 0 | 1 |
| readShape(int) |  | 0% |  | 0% | 3 | 3 | 11 | 11 | 1 | 1 |
| readMultiPointZ(ObjectEndianInputStream, int, boolean) |  | 0% |  | 0% | 3 | 3 | 10 | 10 | 1 | 1 |
| readMultiPointM(ObjectEndianInputStream, int, boolean) |  | 0% |  | 0% | 3 | 3 | 10 | 10 | 1 | 1 |
| readAllShapes(FeatureInterface) |   | 54% |   | 33% | 5 | 7 | 5 | 15 | 0 | 1 |
| readMultiPoint(ObjectEndianInputStream, boolean) |  | 0% |  | 0% | 3 | 3 | 7 | 7 | 1 | 1 |
| readPoint(ObjectEndianInputStream) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| ShapeFileReader(URL, CoordinateTransform, List) |   | 81% |   | 16% | 3 | 4 | 2 | 20 | 0 | 1 |
| readPointZ(ObjectEndianInputStream, int) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| readPointM(ObjectEndianInputStream, int) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| readMultiPatch(ObjectEndianInputStream, int, boolean) |  | 0% |  | 0% | 4 | 4 | 3 | 3 | 1 | 1 |
| getAttributeKeyNames() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getFeatures() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getURL() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| populateShapes() |   | 92% |   | 50% | 1 | 2 | 0 | 4 | 0 | 1 |
| readNullShape(ObjectEndianInputStream) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| isDynamic() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| readPolyLine(ObjectEndianInputStream, boolean) |  | 100% |   | 90% | 1 | 6 | 0 | 22 | 0 | 1 |
| readPolygon(ObjectEndianInputStream, boolean) |  | 100% |   | 80% | 2 | 6 | 0 | 22 | 0 | 1 |
| readShape(ObjectEndianInputStream) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |