51 lines
1.5 KiB
ReasonML
51 lines
1.5 KiB
ReasonML
open Jest;
|
|
open Expect;
|
|
|
|
let makeTest = (~only=false, str, item1, item2) =>
|
|
only
|
|
? Only.test(str, () =>
|
|
expect(item1) |> toEqual(item2)
|
|
)
|
|
: test(str, () =>
|
|
expect(item1) |> toEqual(item2)
|
|
);
|
|
|
|
describe("Lodash", () => {
|
|
describe("Lodash", () => {
|
|
makeTest(
|
|
"split",
|
|
SamplesToShape.Internals.T.splitContinuousAndDiscrete([|1.432, 1.33455, 2.0|]),
|
|
([|1.432, 1.33455, 2.0|], E.FloatFloatMap.empty()),
|
|
);
|
|
makeTest(
|
|
"split",
|
|
SamplesToShape.Internals.T.splitContinuousAndDiscrete([|
|
|
1.432,
|
|
1.33455,
|
|
2.0,
|
|
2.0,
|
|
2.0,
|
|
2.0,
|
|
|])
|
|
|> (((c, disc)) => (c, disc |> E.FloatFloatMap.toArray)),
|
|
([|1.432, 1.33455|], [|(2.0, 4.0)|]),
|
|
);
|
|
|
|
let makeDuplicatedArray = count => {
|
|
let arr = Belt.Array.range(1, count) |> E.A.fmap(float_of_int);
|
|
let sorted = arr |> Belt.SortArray.stableSortBy(_, compare);
|
|
E.A.concatMany([|sorted, sorted, sorted, sorted|])
|
|
|> Belt.SortArray.stableSortBy(_, compare);
|
|
};
|
|
|
|
let (_, discrete) =
|
|
SamplesToShape.Internals.T.splitContinuousAndDiscrete(makeDuplicatedArray(10));
|
|
let toArr = discrete |> E.FloatFloatMap.toArray;
|
|
makeTest("splitMedium", toArr |> Belt.Array.length, 10);
|
|
|
|
let (c, discrete) =
|
|
SamplesToShape.Internals.T.splitContinuousAndDiscrete(makeDuplicatedArray(500));
|
|
let toArr = discrete |> E.FloatFloatMap.toArray;
|
|
makeTest("splitMedium", toArr |> Belt.Array.length, 500);
|
|
})
|
|
}); |