### Question:
ColumnVector { public double l2Distance(final ColumnVector vector) { final double distance = this.distance(vector, d -> d * d); return Math.sqrt(distance); } ColumnVector(final int size);  ColumnVector(final double... vector); private  ColumnVector(final Matrix matrix); int size(); double getAt(final int index); void setAt(final int index, final double val); void incrementAt(final int index, final double val); void normalize(); void scale(final double scale); ColumnVector multiplyElementWise(final ColumnVector vector); ColumnVector addElementWise(final ColumnVector vector); double absSum(); double sum(); ColumnVector roundTo(final int numPlaces); ColumnVector add(final double scalar); ColumnVector multiply(final double scalar); ColumnVector sqrt(); ColumnVector abs(); final boolean isZeroVector(); double[] getRaw(); void setAll(final double val); boolean align(); double max(); double median(); double getMagnitude(); double l1Distance(final ColumnVector vector); double l2Distance(final ColumnVector vector); double correlation(final ColumnVector vector); @Override String toString(); void removeNegatives(); @Override int hashCode(); @Override boolean equals(final Object obj);  }### Answer:
@Test public void l2DistanceCanBeCalculatedBetweenTwoVectorsOfSameSize() { final ColumnVector a = new ColumnVector(7, 5, 11); final ColumnVector b = new ColumnVector(2, -4, 1); final double distance = a.l2Distance(b); Assertions.assertEquals(14.3527, distance, 0.0000001); }
@Test public void l2DistanceCannotBeCalculatedForDifferentSizedVectors() { final ColumnVector largerVector = new ColumnVector(8); final ColumnVector smallerVector = new ColumnVector(7); ExceptionAssert.assertThrows( v -> largerVector.l2Distance(smallerVector), IllegalArgumentException.class); ExceptionAssert.assertThrows( v -> smallerVector.l2Distance(largerVector), IllegalArgumentException.class); }