public int Compare(ICombinedResult x, ICombinedResult y) { T extractedX = Extract(x.Final); T extractedY = Extract(y.Final); return(comparer.Compare(extractedX, extractedY)); }
public int Compare(ICombinedResult x, ICombinedResult y) { T resultX = Extract(x.Realized); T resultY = Extract(y.Realized); T announcementX = Extract(x.Announcement); T announcementY = Extract(y.Announcement); double diffX = Math.Abs(differenceCalculator(resultX, announcementX)); double diffY = Math.Abs(differenceCalculator(resultY, announcementY)); if (diffX < diffY) { return(-1); } if (diffX > diffY) { return(1); } return(0); }
protected void VerifyComparer(ICombinedResult a, ICombinedResult b, int expected) { Assert.That(Rule.ResultsComparer.Compare(a, b), Is.EqualTo(expected)); Assert.That(Rule.ResultsComparer.Compare(b, a), Is.EqualTo(-expected)); }