import { test, assert} from './test-assert.js'; import { useAverage } from './Util.js'; test('Average correctly accumulates an average', () => { let [avg, avg_append] = useAverage(); let data = []; for (let i=0; i<5000; i++) { let d = Math.random(); data.push(d); avg_append(d); } let manual_average = 0; for (let d of data) manual_average += d; manual_average /= data.length; const precision = (decimalPlaces, num) => { const theta = 10**decimalPlaces; return Math.floor(num * theta) / theta; }; assert.equal(precision(5, avg()), precision(5, manual_average)); });