### Question:
Matrix { public final void setAt(final int row, final int col, final double val) { this.checkBounds(row, col); this.setAtUnchecked(row, col, val); } 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 equalsReturnsTrueForEquivalentSparseMatrices() { final Matrix matrix = new DenseMatrix(100, 1000); final Matrix matrix2 = new DenseMatrix(100, 1000); matrix.setAt(50, 50, 4); matrix.setAt(99, 200, 9); matrix2.setAt(50, 50, 4); matrix2.setAt(99, 200, 9); MatcherAssert.assertThat(matrix2, IsEqual.equalTo(matrix)); }