### Question:
Matrix { public Matrix roundTo(final int numPlaces) { final double multipler = Math.pow(10, numPlaces); return this.transform(v -> Math.round(v * multipler) / multipler); } protected  Matrix(final int numRows, final int numCols); final int getElementCount(); final int getRowCount(); final int getColumnCount(); final double getAt(final int row, final int col); final void setAt(final int row, final int col, final double val); final void incrementAt(final int row, final int col, final double val); final ColumnVector getRowSumVector(); final ColumnVector getColumnSumVector(); Collection<Integer> normalizeColumns(); void removeNegatives(); void removeLessThan(final double minValue); final void scale(final double scale); Matrix multiplyElementWise(final Matrix matrix); Matrix addElementWise(final Matrix matrix); final double absSum(); final double sum(); ColumnVector multiply(final ColumnVector vector); final Matrix transpose(); Matrix roundTo(final int numPlaces); Matrix multiply(final double scalar); Matrix add(final double scalar); Matrix abs(); Matrix sqrt(); final boolean isSameSize(final Matrix matrix); final boolean isZeroMatrix(); @Override int hashCode(); @Override boolean equals(final Object obj); void forEach(final ReadOnlyElementVisitorFunction func); abstract MatrixNonZeroElementRowIterator getNonZeroElementRowIterator(final int row);  }### Answer:
@Test public void denseMatrixCanBeRounded() { final Matrix matrix = this.createMatrix(3, 2, new double[] {2.1234, 11.1234, 3.2345, 1, 5012.0126, 8}); final Matrix roundedMatrix = matrix.roundTo(2); MatcherAssert.assertThat( roundedMatrix, IsEqual.equalTo(this.createMatrix(3, 2, new double[] {2.12, 11.12, 3.23, 1, 5012.01, 8}))); }