나는 최근에 시계열이 본질적으로 시계열 모듈을 설계했다 SortedDictionnary<DateTime, double>
.
이제이 모듈이 항상 작동하고 예상 결과를 생성하는지 확인하기 위해 단위 테스트를 만들고 싶습니다.
일반적인 작업은 시계열의 포인트 간 성능을 계산하는 것입니다.
따라서 내가하는 일은 {1.0, 2.0, 4.0} (일부 날짜)로 시계열을 만드는 것이며 결과는 {100 %, 100 %} 일 것으로 예상합니다.
문제는 수동으로 {1.0, 1.0} 값으로 시계열을 만들고 각 점을 비교하여 동등성을 확인하면 실제 이진 표현으로 작업 할 때 항상 부정확성이 있기 때문에 테스트가 통과되지 않습니다. 번호.
따라서 다음 함수를 만들기로 결정했습니다.
private static bool isCloseEnough(double expected, double actual, double tolerance=0.002)
{
return squaredDifference(expected, actual) < Math.Pow(tolerance,2);
}
그러한 경우를 다루는 또 다른 일반적인 방법이 있습니까?