52 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
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))
 | 
						|
 | 
						|
let shape1: DistTypes.xyShape = {xs: [1., 4., 8.], ys: [0.2, 0.4, 0.8]}
 | 
						|
 | 
						|
let shape2: DistTypes.xyShape = {
 | 
						|
  xs: [1., 5., 10.],
 | 
						|
  ys: [0.2, 0.5, 0.8],
 | 
						|
}
 | 
						|
 | 
						|
let shape3: DistTypes.xyShape = {
 | 
						|
  xs: [1., 20., 50.],
 | 
						|
  ys: [0.2, 0.5, 0.8],
 | 
						|
}
 | 
						|
 | 
						|
describe("XYShapes", () => {
 | 
						|
  describe("logScorePoint", () => {
 | 
						|
    makeTest("When identical", XYShape.logScorePoint(30, shape1, shape1), Some(0.0))
 | 
						|
    makeTest("When similar", XYShape.logScorePoint(30, shape1, shape2), Some(1.658971191043856))
 | 
						|
    makeTest(
 | 
						|
      "When very different",
 | 
						|
      XYShape.logScorePoint(30, shape1, shape3),
 | 
						|
      Some(210.3721280423322),
 | 
						|
    )
 | 
						|
  })
 | 
						|
  // describe("transverse", () => {
 | 
						|
  //   makeTest(
 | 
						|
  //     "When very different",
 | 
						|
  //     XYShape.Transversal._transverse(
 | 
						|
  //       (aCurrent, aLast) => aCurrent +. aLast,
 | 
						|
  //       [|1.0, 2.0, 3.0, 4.0|],
 | 
						|
  //     ),
 | 
						|
  //     [|1.0, 3.0, 6.0, 10.0|],
 | 
						|
  //   )
 | 
						|
  // });
 | 
						|
  describe("integrateWithTriangles", () =>
 | 
						|
    makeTest(
 | 
						|
      "integrates correctly",
 | 
						|
      XYShape.Range.integrateWithTriangles(shape1),
 | 
						|
      Some({
 | 
						|
        xs: [1., 4., 8.],
 | 
						|
        ys: [0.0, 0.9000000000000001, 3.3000000000000007],
 | 
						|
      }),
 | 
						|
    )
 | 
						|
  )
 | 
						|
})
 |