### Question:
Matrix { public final ColumnVector getColumnSumVector() { return new ColumnVector(this.getColumnSums(v -> v)); } 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 matrixColumnSumsCanBeCalculated() { final Matrix matrix = this.createMatrix(3, 2, new double[] {2, 11, 3, 1, 5, 6}); MatcherAssert.assertThat( matrix.getColumnSumVector(), IsEqual.equalTo(new ColumnVector(10.0, 18.0))); }