Skip to content

pages build and deployment #35

pages build and deployment

pages build and deployment #35

GitHub Actions / Tests succeeded Aug 12, 2024 in 0s

249 passed, 0 failed and 0 skipped

Tests passed successfully

✅ src/quality/SMath__Tests/TestResults/test-results.trx

249 tests were completed in 7s with 249 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
SMath.Geometry2D.BinaryIntegerExtensionTests 35✅ 16ms
SMath.Geometry2D.CircleArcTests 1✅ 0ms
SMath.Geometry2D.CircleChordTests 3✅ 2ms
SMath.Geometry2D.CircleSectorTests 2✅ 2ms
SMath.Geometry2D.CircleSegmentTests 2✅ 1ms
SMath.Geometry2D.CircleTests 15✅ 25ms
SMath.Geometry2D.Function1GeometryTests 10✅ 8ms
SMath.Geometry2D.GeometricVector2Tests 5✅ 5ms
SMath.Geometry2D.LineAndLineTests 7✅ 2ms
SMath.Geometry2D.LineAndPointTests 14✅ 7ms
SMath.Geometry2D.LineRayTests 1✅ 12ms
SMath.Geometry2D.LineSegmentTests 30✅ 29ms
SMath.Geometry2D.LineTests 13✅ 7ms
SMath.Geometry2D.Point2Tests 18✅ 36ms
SMath.Geometry2D.Point3Tests 9✅ 13ms
SMath.Geometry2D.SphereTests 3✅ 2ms
SMath.Statistics.CovarianceTest 14✅ 3ms
SMath.Statistics.HistogramTest 3✅ 9ms
SMath.Statistics.PearsonAutoCorrelationTest 1✅ 4ms
SMath.Statistics.PearsonCorrelationTest 31✅ 21ms
SMath.Statistics.PearsonCrossCorrelationTest 1✅ 24ms
SMath.Statistics.PopulationVarianceTest 14✅ 2ms
SMath.Statistics.SampleVarianceTest 14✅ 15ms
SMath.Statistics.StandardDeviationTest 3✅ 1ms

✅ SMath.Geometry2D.BinaryIntegerExtensionTests

✅ FromGrayCode_Byte(gray: 1, number: 1)
✅ FromGrayCode_Byte(gray: 2, number: 3)
✅ FromGrayCode_Byte(gray: 3, number: 2)
✅ FromGrayCode_Byte(gray: 4, number: 7)
✅ FromGrayCode_Byte(gray: 8, number: 15)
✅ FromGrayCode_Int(gray: 1, number: 1)
✅ FromGrayCode_Int(gray: 2, number: 3)
✅ FromGrayCode_Int(gray: 3, number: 2)
✅ FromGrayCode_Int(gray: 4, number: 7)
✅ FromGrayCode_Int(gray: 8, number: 15)
✅ HammingDistance_Byte(n1: 0, n2: 0, distance: 0)
✅ HammingDistance_Byte(n1: 0, n2: 1, distance: 1)
✅ HammingDistance_Byte(n1: 0, n2: 2, distance: 1)
✅ HammingDistance_Byte(n1: 0, n2: 255, distance: 8)
✅ HammingDistance_Byte(n1: 0, n2: 3, distance: 2)
✅ HammingDistance_Byte(n1: 255, n2: 255, distance: 0)
✅ HammingDistance_Int(n1: -1, n2: -1, distance: 0)
✅ HammingDistance_Int(n1: 0, n2: -1, distance: 1)
✅ HammingDistance_Int(n1: 0, n2: 0, distance: 0)
✅ HammingDistance_Int(n1: 0, n2: 1, distance: 1)
✅ HammingDistance_Int(n1: 0, n2: 2, distance: 1)
✅ HammingDistance_Int(n1: 0, n2: 2147483647, distance: 31)
✅ HammingDistance_Int(n1: 0, n2: 3, distance: 2)
✅ HammingDistance_Int(n1: 1, n2: -1, distance: 0)
✅ HammingDistance_Int(n1: 2147483647, n2: 2147483647, distance: 0)
✅ ToGrayCode_Byte(number: 1, gray: 1)
✅ ToGrayCode_Byte(number: 15, gray: 8)
✅ ToGrayCode_Byte(number: 2, gray: 3)
✅ ToGrayCode_Byte(number: 3, gray: 2)
✅ ToGrayCode_Byte(number: 7, gray: 4)
✅ ToGrayCode_Int(number: 1, gray: 1)
✅ ToGrayCode_Int(number: 15, gray: 8)
✅ ToGrayCode_Int(number: 2, gray: 3)
✅ ToGrayCode_Int(number: 3, gray: 2)
✅ ToGrayCode_Int(number: 7, gray: 4)

✅ SMath.Geometry2D.CircleArcTests

✅ Length

✅ SMath.Geometry2D.CircleChordTests

✅ Apothem
✅ Length
✅ Sagitta

✅ SMath.Geometry2D.CircleSectorTests

✅ Area
✅ Circumference

✅ SMath.Geometry2D.CircleSegmentTests

✅ Area
✅ Perimeter

✅ SMath.Geometry2D.CircleTests

✅ Circumference
✅ PerimeterPoints_FromRadius
✅ Radius
✅ TangentLine_FromAngle(radius: 0, angle: 0, a: 0, b: 0, c: 0)
✅ TangentLine_FromAngle(radius: 1, angle: 0, a: 1, b: 0, c: -1)
✅ TangentLine_FromAngle(radius: 1, angle: 0.78539816339744828, a: 0.70710700000000004, b: 0.70710700000000004, c: -1)
✅ TangentLine_FromAngle(radius: 1, angle: 1.5707963267948966, a: 0, b: 1, c: -1)
✅ TangentPoints_FromCirclePoint(radius: 1, pX: 0, pY: 1)
✅ TangentPoints_FromCirclePoint(radius: 1, pX: 1, pY: 0)
✅ TangentPoints_FromInnerPoint(radius: -1, pX: 0, pY: 0)
✅ TangentPoints_FromInnerPoint(radius: 0, pX: 0, pY: 0)
✅ TangentPoints_FromInnerPoint(radius: 1, pX: 0, pY: 0)
✅ TangentPoints_FromInnerPoint(radius: 1, pX: 0.5, pY: 0.5)
✅ TangentPoints_FromOuterPoint(radius: 1, pX: 1, pY: 1, x1: 0, y1: 1, x2: 1, y2: 0)
✅ TangentPoints_FromOuterPoint(radius: 2, pX: 4, pY: 0, x1: 1, y1: 1.732050807, x2: 1, y2: -1.732050807)

✅ SMath.Geometry2D.Function1GeometryTests

✅ Power2_NormalLineInPoint(x: -1, a: -0.5, b: 1, c: -1.5)
✅ Power2_NormalLineInPoint(x: 0, a: 1, b: 0, c: 0)
✅ Power2_NormalLineInPoint(x: 1, a: 0.5, b: 1, c: -1.5)
✅ Sine_SlopeInPoint(x: 0, slope: 1)
✅ Sine_SlopeInPoint(x: 1.5707963267948966, slope: 0)
✅ Sine_SlopeInPoint(x: 3.1415926535897931, slope: -1)
✅ Sine_SlopeInPoint(x: 4.7123889803846897, slope: 0)
✅ Sine_TangentLineInPoint(x: 0, a: -1, b: 1, c: 0)
✅ Sine_TangentLineInPoint(x: 1.5707963267948966, a: 0, b: 1, c: -1)
✅ Sine_TangentLineInPoint(x: 3.1415926535897931, a: 1, b: 1, c: -3.1415926535897931)

✅ SMath.Geometry2D.GeometricVector2Tests

✅ DirectionVector
✅ Distance
✅ Magnitude
✅ Normalized
✅ NormalVector

✅ SMath.Geometry2D.LineAndLineTests

✅ Intersection_FromGeneralForm_DoesNotExist(a1: 1, b1: 0, c1: 0, a2: 1, b2: 0, c2: 0)
✅ Intersection_FromGeneralForm_DoesNotExist(a1: 1, b1: 1, c1: -2, a2: 1, b2: 1, c2: -2)
✅ Intersection_FromGeneralForm_DoesNotExist(a1: 1, b1: 1, c1: -2, a2: 1, b2: 1, c2: -3)
✅ Intersection_FromGeneralForm_DoesNotExist(a1: 1, b1: 1, c1: 0, a2: 1, b2: 1, c2: 0)
✅ Intersection_FromGeneralForm_InPoint(a1: -1, b1: 1, c1: 0, a2: 1, b2: 1, c2: -2, x: 1, y: 1)
✅ Intersection_FromGeneralForm_InPoint(a1: 1, b1: 0, c1: 0, a2: 0, b2: 1, c2: 0, x: 0, y: 0)
✅ Intersection_FromGeneralForm_InPoint(a1: 1, b1: 1, c1: 0, a2: -1, b2: 1, c2: 0, x: 0, y: 0)

✅ SMath.Geometry2D.LineAndPointTests

✅ Distance_FromGeneralForm(a: 0, b: 1, c: 0, x: 0, y: 0, distance: 0)
✅ Distance_FromGeneralForm(a: 0, b: 1, c: 0, x: 0, y: 1, distance: 1)
✅ Distance_FromGeneralForm(a: 1, b: 0, c: 0, x: 0, y: 0, distance: 0)
✅ Distance_FromGeneralForm(a: 1, b: 0, c: 0, x: 1, y: 0, distance: 1)
✅ Distance_FromGeneralForm(a: 1, b: 1, c: 0, x: 1, y: 1, distance: 1.4142135)
✅ Distance_FromPoints(ax: -1, ay: 0, bx: 1, by: 0, px: -1, py: 0, pointDistance: 0)
✅ Distance_FromPoints(ax: -1, ay: 0, bx: 1, by: 0, px: -1, py: 1, pointDistance: 1)
✅ Distance_FromPoints(ax: -1, ay: 0, bx: 1, by: 0, px: -2, py: 0, pointDistance: 0)
✅ Distance_FromPoints(ax: -1, ay: 0, bx: 1, by: 0, px: 0, py: 0, pointDistance: 0)
✅ Distance_FromPoints(ax: -1, ay: 0, bx: 1, by: 0, px: 0, py: 1, pointDistance: 1)
✅ Distance_FromPoints(ax: -1, ay: 0, bx: 1, by: 0, px: 1, py: 0, pointDistance: 0)
✅ Distance_FromPoints(ax: -1, ay: 0, bx: 1, by: 0, px: 1, py: 1, pointDistance: 1)
✅ Distance_FromPoints(ax: -1, ay: 0, bx: 1, by: 0, px: 2, py: 0, pointDistance: 0)
✅ Projection_FromPoints(segment: ((-1, 0), (1, 0)), point: (-1, 0), projectedPoint: (-1, 0), message: "Identical to first point on x-axis")

✅ SMath.Geometry2D.LineRayTests

✅ Points

✅ SMath.Geometry2D.LineSegmentTests

✅ Distance_ToPoint(sp1: (-1, 0), sp2: (1, 0), point: (-1, 0), expDistance: 0)
✅ Distance_ToPoint(sp1: (-1, 0), sp2: (1, 0), point: (-1, 1), expDistance: 1)
✅ Distance_ToPoint(sp1: (-1, 0), sp2: (1, 0), point: (-2, 0), expDistance: 1)
✅ Distance_ToPoint(sp1: (-1, 0), sp2: (1, 0), point: (0, 0), expDistance: 0)
✅ Distance_ToPoint(sp1: (-1, 0), sp2: (1, 0), point: (0, 1), expDistance: 1)
✅ Distance_ToPoint(sp1: (-1, 0), sp2: (1, 0), point: (1, 0), expDistance: 0)
✅ Distance_ToPoint(sp1: (-1, 0), sp2: (1, 0), point: (1, 1), expDistance: 1)
✅ Distance_ToPoint(sp1: (-1, 0), sp2: (1, 0), point: (2, 0), expDistance: 1)
✅ Intersection_WithPoint_DoesNotExist(sp1: (0, 0), sp2: (1, 0), point: (-1, 0))
✅ Intersection_WithPoint_DoesNotExist(sp1: (0, 0), sp2: (1, 0), point: (0.1, -1))
✅ Intersection_WithPoint_DoesNotExist(sp1: (0, 0), sp2: (1, 0), point: (0.5, 1))
✅ Intersection_WithPoint_DoesNotExist(sp1: (0, 0), sp2: (1, 0), point: (2, 0))
✅ Intersection_WithPoint_Exists(sp1: (0, 0), sp2: (0, 1), point: (0, 1))
✅ Intersection_WithPoint_Exists(sp1: (0, 0), sp2: (1, 0), point: (0, 0))
✅ Intersection_WithPoint_Exists(sp1: (0, 0), sp2: (1, 0), point: (0.5, 0))
✅ Intersection_WithPoint_Exists(sp1: (0, 0), sp2: (1, 0), point: (1, 0))
✅ Intersection_WithSegment_Exists(s1p1: (-1, 0), s1p2: (1, 0), s2p1: (0, -1), s2p2: (0, 1), point: (0, 0))
✅ Intersection_WithSegment_Exists(s1p1: (-1, 1), s1p2: (1, 1), s2p1: (0, 1), s2p2: (0, 0), point: (0, 1))
✅ Intersection_WithSegment_Exists(s1p1: (0, 0), s1p2: (5, 5), s2p1: (0, 5), s2p2: (5, 0), point: (2.5, 2.5))
✅ Intersection_WithSegment_Exists(s1p1: (1, 1), s1p2: (-1, -1), s2p1: (-1, 1), s2p2: (1, -1), point: (0, 0))
✅ Parallel_ToXAxis_FromThreePoints
✅ Parallel_ToYAxis_FromThreePoints
✅ Parallels_ToXAxis
✅ Parallels_ToYAxis
✅ Points
✅ Slope(p1x: 0, p1y: 0, p2x: -1, p2y: 0, slope: 0)
✅ Slope(p1x: 0, p1y: 0, p2x: 0, p2y: -1, slope: -Infinity)
✅ Slope(p1x: 0, p1y: 0, p2x: 0, p2y: 1, slope: Infinity)
✅ Slope(p1x: 0, p1y: 0, p2x: 1, p2y: 0, slope: 0)
✅ Slope(p1x: 0, p1y: 0, p2x: 1, p2y: 1, slope: 1)

✅ SMath.Geometry2D.LineTests

✅ FromSlopeAndYIntercept(slope: 0, yintercept: 0, a: 0, b: 1, c: 0)
✅ FromSlopeAndYIntercept(slope: 1, yintercept: 0, a: -1, b: 1, c: 0)
✅ FromTwoPoints(p1x: 0, p1y: 0, p2x: -1, p2y: 0, a: 0, b: -1, c: 0)
✅ FromTwoPoints(p1x: 0, p1y: 0, p2x: 0, p2y: -1, a: 1, b: 0, c: 0)
✅ FromTwoPoints(p1x: 0, p1y: 0, p2x: 0, p2y: 1, a: -1, b: 0, c: 0)
✅ FromTwoPoints(p1x: 0, p1y: 0, p2x: 1, p2y: 0, a: 0, b: 1, c: 0)
✅ FromTwoPoints(p1x: 0, p1y: 0, p2x: 1, p2y: 1, a: -1, b: 1, c: 0)
✅ Slope_FromAngle(angle: 0, slope: 0)
✅ Slope_FromAngle(angle: 0.78539816339744828, slope: 1)
✅ Slope_FromAngle(angle: 1.5707963267948966, slope: Infinity)
✅ Slope_FromGeneralForm(a: -1, b: 1, c: 0, slope: 1)
✅ Slope_FromGeneralForm(a: 0, b: 1, c: -1, slope: 0)
✅ Slope_FromGeneralForm(a: 1, b: 1, c: -1, slope: -1)

✅ SMath.Geometry2D.Point2Tests

✅ ChebyshevDistance(x1: 0, y1: 0, x2: 1, y2: 0, distance: 1)
✅ ChebyshevDistance(x1: 0, y1: 0, x2: 1, y2: 1, distance: 1)
✅ ChebyshevDistance(x1: 1, y1: 1, x2: -1, y2: -1, distance: 2)
✅ CoordinatesAtChebyshevDistance
✅ CoordinatesAtChebyshevDistanceWithBottomLimitSmallerThanDistance_OnlyHigherCoords
✅ CoordinatesAtChebyshevDistanceWithLimitsSmallerThanDistance_NoCoords
✅ CoordinatesAtManhattanDistance
✅ CoordinatesAtManhattanDistanceWithBottomLimitSmallerThanDistance_OnlyHigherCoords
✅ CoordinatesAtManhattanDistanceWithLimitsSmallerThanDistance_FourCoords
✅ CoordinatesUpToChebyshevDistance
✅ CoordinatesUpToChebyshevDistanceWithLimits
✅ CoordinatesUpToManhattanDistanceWithLimits_Square
✅ ManhattanDistance(x1: 0, y1: 0, x2: 1, y2: 0, distance: 1)
✅ ManhattanDistance(x1: 0, y1: 0, x2: 1, y2: 1, distance: 2)
✅ ManhattanDistance(x1: 1, y1: 1, x2: -1, y2: -1, distance: 4)
✅ MinkowskiDistance(x1: 0, y1: 0, x2: 1, y2: 0, r: 1, distance: 1)
✅ MinkowskiDistance(x1: 0, y1: 0, x2: 1, y2: 1, r: 1, distance: 2)
✅ MinkowskiDistance(x1: 1, y1: 1, x2: -1, y2: -1, r: 1, distance: 4)

✅ SMath.Geometry2D.Point3Tests

✅ ChebyshevDistance(x1: 0, y1: 0, z1: 0, x2: 1, y2: 0, z2: 0, distance: 1)
✅ ChebyshevDistance(x1: 0, y1: 0, z1: 0, x2: 1, y2: 1, z2: 1, distance: 1)
✅ ChebyshevDistance(x1: 1, y1: 1, z1: 1, x2: -1, y2: -1, z2: -1, distance: 2)
✅ ManhattanDistance(x1: 0, y1: 0, z1: 0, x2: 1, y2: 0, z2: 0, distance: 1)
✅ ManhattanDistance(x1: 0, y1: 0, z1: 0, x2: 1, y2: 1, z2: 1, distance: 3)
✅ ManhattanDistance(x1: 1, y1: 1, z1: 1, x2: -1, y2: -1, z2: -1, distance: 6)
✅ MinkowskiDistance(x1: 0, y1: 0, z1: 0, x2: 1, y2: 0, z2: 0, r: 1, distance: 1)
✅ MinkowskiDistance(x1: 0, y1: 0, z1: 0, x2: 1, y2: 1, z2: 1, r: 1, distance: 3)
✅ MinkowskiDistance(x1: 1, y1: 1, z1: 1, x2: -1, y2: -1, z2: -1, r: 1, distance: 6)

✅ SMath.Geometry2D.SphereTests

✅ Radius
✅ SurfaceArea
✅ Volume

✅ SMath.Statistics.CovarianceTest

✅ Eval_BothSequencesAreEmpty_NoException
✅ Eval_InconsistentSequences_Exception
✅ Eval(seqA: [0, 0], seqB: [0, 0], expected: 0)
✅ Eval(seqA: [0, 0], seqB: [1, 1], expected: 0)
✅ Eval(seqA: [0, 1, 2], seqB: [0, -1, -2], expected: -1)
✅ Eval(seqA: [0, 1, 2], seqB: [0, 1, 2], expected: 1)
✅ Eval(seqA: [1, 1], seqB: [1, 1], expected: 0)
✅ EvalSpan_BothSequencesAreEmpty_NoException
✅ EvalSpan_InconsistentSequences_Exception
✅ EvalSpan(seqA: [0, 0], seqB: [0, 0], expected: 0)
✅ EvalSpan(seqA: [0, 0], seqB: [1, 1], expected: 0)
✅ EvalSpan(seqA: [0, 1, 2], seqB: [0, -1, -2], expected: -1)
✅ EvalSpan(seqA: [0, 1, 2], seqB: [0, 1, 2], expected: 1)
✅ EvalSpan(seqA: [1, 1], seqB: [1, 1], expected: 0)

✅ SMath.Statistics.HistogramTest

✅ GetExclusive_SeveralValues
✅ GetExclusive_ValueOnEdge
✅ GetInclusive_ValueOnEdge

✅ SMath.Statistics.PearsonAutoCorrelationTest

✅ AutoCorrelation

✅ SMath.Statistics.PearsonCorrelationTest

✅ EvalArray_BothAreEmpty_NoException
✅ EvalArray_DifferentLength_Exception
✅ EvalArray_FullCorrelation(aSequence: [0, 1, 2], bSequence: [1, 2, 3])
✅ EvalArray_FullCorrelation(aSequence: [2, 1, 0], bSequence: [2, 1, 0])
✅ EvalArray_FullNegativeCorrelation(aSequence: [0, 1, 2], bSequence: [3, 2, 1])
✅ EvalArray_FullNegativeCorrelation(aSequence: [1, 2, 1], bSequence: [3, 2, 3])
✅ EvalArray_NotCorrelated(aSequence: [1, 2, 1], bSequence: [1, 2, 3], expected: 0)
✅ EvalArray_NotCorrelated(aSequence: [1, 2, 1], bSequence: [2, 1, 2], expected: -1)
✅ EvalArray_SameValues(aSequence: [0, 0, 0], bSequence: [0, 0, 0], expected: NaN)
✅ EvalArray_SameValues(aSequence: [1, 1, 1, 1], bSequence: [1, 1, 1, 1], expected: NaN)
✅ EvalArray_SameValues(aSequence: [1, 1, 1], bSequence: [1, 2, 3], expected: NaN)
✅ EvalArray_SameValues(aSequence: [1, 1, 1], bSequence: [3, 2, 1], expected: NaN)
✅ EvalArrayPerf_BothSequencesAreEmpty_NoException
✅ EvalArrayPerf_FullCorrelation(aSequence: [0, 1, 2], bSequence: [1, 2, 3])
✅ EvalArrayPerf_FullCorrelation(aSequence: [2, 1, 0], bSequence: [2, 1, 0])
✅ EvalArrayPerf_FullNegativeCorrelation(aSequence: [0, 1, 2], bSequence: [3, 2, 1])
✅ EvalArrayPerf_FullNegativeCorrelation(aSequence: [1, 2, 1], bSequence: [3, 2, 3])
✅ EvalArrayPerf_NotCorrelated(aSequence: [1, 2, 1], bSequence: [1, 2, 3], expected: 0)
✅ EvalArrayPerf_NotCorrelated(aSequence: [1, 2, 1], bSequence: [2, 1, 2], expected: -1)
✅ EvalSpan_BothAreEmpty_NoException
✅ EvalSpan_DifferentLength_Exception
✅ EvalSpan_FullCorrelation(aSequence: [0, 1, 2], bSequence: [1, 2, 3])
✅ EvalSpan_FullCorrelation(aSequence: [2, 1, 0], bSequence: [2, 1, 0])
✅ EvalSpan_FullNegativeCorrelation(aSequence: [0, 1, 2], bSequence: [3, 2, 1])
✅ EvalSpan_FullNegativeCorrelation(aSequence: [1, 2, 1], bSequence: [3, 2, 3])
✅ EvalSpan_NotCorrelated(aSequence: [1, 2, 1], bSequence: [1, 2, 3], expected: 0)
✅ EvalSpan_NotCorrelated(aSequence: [1, 2, 1], bSequence: [2, 1, 2], expected: -1)
✅ EvalSpan_SameValues(aSequence: [0, 0, 0], bSequence: [0, 0, 0], expected: NaN)
✅ EvalSpan_SameValues(aSequence: [1, 1, 1, 1], bSequence: [1, 1, 1, 1], expected: NaN)
✅ EvalSpan_SameValues(aSequence: [1, 1, 1], bSequence: [1, 2, 3], expected: NaN)
✅ EvalSpan_SameValues(aSequence: [1, 1, 1], bSequence: [3, 2, 1], expected: NaN)

✅ SMath.Statistics.PearsonCrossCorrelationTest

✅ CrossCorrelation

✅ SMath.Statistics.PopulationVarianceTest

✅ EvalArray_Empty_NoException
✅ EvalArray(sequence: [0, -1, -2], expected: 0.66666667000000002)
✅ EvalArray(sequence: [0, 0], expected: 0)
✅ EvalArray(sequence: [0, 1, 2], expected: 0.66666667000000002)
✅ EvalArray(sequence: [1, 1], expected: 0)
✅ EvalArray(sequence: [1, 2, 3, 4, 5, ...], expected: 2.9166666999999999)
✅ EvalArray(sequence: [2, 2], expected: 0)
✅ EvalSpan_Empty_NoException
✅ EvalSpan(sequence: [0, -1, -2], expected: 0.66666667000000002)
✅ EvalSpan(sequence: [0, 0], expected: 0)
✅ EvalSpan(sequence: [0, 1, 2], expected: 0.66666667000000002)
✅ EvalSpan(sequence: [1, 1], expected: 0)
✅ EvalSpan(sequence: [1, 2, 3, 4, 5, ...], expected: 2.9166666999999999)
✅ EvalSpan(sequence: [2, 2], expected: 0)

✅ SMath.Statistics.SampleVarianceTest

✅ EvalArray_Empty_NoException
✅ EvalArray(sequence: [0, -1, -2], expected: 1)
✅ EvalArray(sequence: [0, 0], expected: 0)
✅ EvalArray(sequence: [0, 1, 2], expected: 1)
✅ EvalArray(sequence: [1, 1], expected: 0)
✅ EvalArray(sequence: [1, 2, 3, 4, 5, ...], expected: 3.5)
✅ EvalArray(sequence: [2, 2], expected: 0)
✅ EvalSpan_Empty_NoException
✅ EvalSpan(sequence: [0, -1, -2], expected: 1)
✅ EvalSpan(sequence: [0, 0], expected: 0)
✅ EvalSpan(sequence: [0, 1, 2], expected: 1)
✅ EvalSpan(sequence: [1, 1], expected: 0)
✅ EvalSpan(sequence: [1, 2, 3, 4, 5, ...], expected: 3.5)
✅ EvalSpan(sequence: [2, 2], expected: 0)

✅ SMath.Statistics.StandardDeviationTest

✅ FromVariance(variance: 0, expected: 0)
✅ FromVariance(variance: 1, expected: 1)
✅ FromVariance(variance: 3.5, expected: 1.8708286999999999)