From d00e71309d62f4f8353e4bcba73e2c2f7e8d33e5 Mon Sep 17 00:00:00 2001 From: Andy Eschbacher Date: Wed, 2 Sep 2015 22:35:03 -0400 Subject: [PATCH] really add tests --- test/CDB_StatsTest.sql | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/test/CDB_StatsTest.sql b/test/CDB_StatsTest.sql index 2bcbf69..5bfb5dc 100644 --- a/test/CDB_StatsTest.sql +++ b/test/CDB_StatsTest.sql @@ -2,16 +2,12 @@ -- http://mathworld.wolfram.com/UniformDistribution.html With dist As ( - SELECT random() As val + SELECT random()::numeric As val FROM generate_series(1,5000000) t -), -m As ( - SELECT avg(val) mn, count(*) cnt, stddev(val) s - FROM dist - ) +) SELECT - abs(sum(power(mn - val,4)) / ( cnt * power(s,4)) - 3 + 1.20) < 1e-3 As kurtosis, - abs(sum(power(mn - val,3)) / ( cnt * power(s,3))) < 1e-3 As skewness -FROM dist, m -GROUP BY m.cnt, m.mn, m.s \ No newline at end of file + -- does random dist values match within 1% of known values + abs(CDB_Kurtosis(array_agg(val)) + 1.20) < 1e-2 As kurtosis, + abs(CDB_Skewness(array_agg(val)) - 0) < 1e-2 As skewness +FROM dist \ No newline at end of file