@Test
public void testGauss() {

    VectorGenerator gen = VectorGeneratorPrimitives.gauss(VectorUtils.of(2., 100.), VectorUtils.of(20., 1.), 10L);
    final double[] mean = new double[] {2., 100.};
    final double[] variance = new double[] {20., 1.};
    final int N = 50000;
    Vector meanStat = IntStream.range(0, N).mapToObj(i -> gen.get()).reduce(Vector::plus).get().times(1. / N);
    Vector varianceStat = IntStream.range(0, N).mapToObj(i -> gen.get().minus(meanStat))
        .map(v -> v.times(v)).reduce(Vector::plus).get().times(1. / N);
    assertArrayEquals(mean, meanStat.asArray(), 0.1);
    assertArrayEquals(variance, varianceStat.asArray(), 0.1);
}