2022-04-08 00:17:01 +00:00
|
|
|
open Jest
|
|
|
|
open Expect
|
|
|
|
|
2022-04-08 06:51:38 +00:00
|
|
|
let {normalDist, uniformDist, betaDist, lognormalDist, cauchyDist, triangularDist, exponentialDist} = module(GenericDist_Fixtures)
|
2022-04-08 00:17:01 +00:00
|
|
|
|
|
|
|
let runTest = (name: string, dist : GenericDist_Types.genericDist, expected: string) => {
|
|
|
|
test(name, () => {
|
2022-04-08 12:44:04 +00:00
|
|
|
let result = GenericDist.toSparkline(dist, ~sampleCount=100, ~buckets=20, ())
|
2022-04-08 00:17:01 +00:00
|
|
|
switch result {
|
|
|
|
| Ok(sparkline) => expect(sparkline)->toEqual(expected)
|
|
|
|
| Error(err) => expect("Error")->toEqual(expected)
|
|
|
|
}
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
|
|
|
describe("sparkline of generic distribution", () => {
|
2022-04-08 12:44:04 +00:00
|
|
|
runTest("normal", normalDist, `▁▁▁▁▁▂▄▆▇██▇▆▄▂▁▁▁▁▁`)
|
|
|
|
runTest("uniform", uniformDist, `████████████████████`)
|
|
|
|
runTest("beta", betaDist, `▁▄▇████▇▆▅▄▃▃▂▁▁▁▁▁▁`)
|
|
|
|
runTest("lognormal", lognormalDist, `▁█▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁`)
|
|
|
|
runTest("cauchy", cauchyDist, `▁▁▁▁▁▁▁▁▁██▁▁▁▁▁▁▁▁▁`)
|
|
|
|
runTest("triangular", triangularDist, `▁▁▂▃▄▅▆▇████▇▆▅▄▃▂▁▁`)
|
|
|
|
runTest("exponential", exponentialDist, `█▅▄▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁`)
|
2022-04-08 00:17:01 +00:00
|
|
|
})
|