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);
}
มีวิธีจัดการกรณีเช่นนี้อีกวิธีหนึ่งหรือไม่?