I have a method returning a List<GradingResult>
:
public class GradingResult
{
public float Grade { get; set; }
public int Score { get; set; }
}
That list has values from 6 to 1 in float format:
6, 5.9, 5.8, ... 1.2, 1.1,1
Now in my unit test I have a test GradingResult list with test data:
new List<GradingResult> {
new GradingResult{ Score = 0,Grade = 6.0f},
new GradingResult{ Score = 1,Grade = 5.8f},
new GradingResult{ Score = 2,Grade = 5.7f},
new GradingResult{ Score = 3,Grade = 5.5f},
new GradingResult{ Score = 4,Grade = 5.4f},
new GradingResult{ Score = 5,Grade = 5.2f},
new GradingResult{ Score = 6,Grade = 5.1f},
new GradingResult{ Score = 7,Grade = 4.9f},
new GradingResult{ Score = 8,Grade = 4.7f},
new GradingResult{ Score = 9,Grade = 4.6f },
new GradingResult{ Score = 10, Grade = 4.4f },
new GradingResult{ Score = 11, Grade = 4.3f},
new GradingResult{ Score = 12, Grade = 4.1f},
new GradingResult{ Score = 13, Grade = 4.0f},
new GradingResult{ Score = 14, Grade = 3.8f},
new GradingResult{ Score = 15, Grade = 3.7f},
new GradingResult{ Score = 16, Grade = 3.5f},
new GradingResult{ Score = 17, Grade = 3.3f},
new GradingResult{ Score = 18, Grade = 3.2f},
new GradingResult{ Score = 19, Grade = 3.0f},
new GradingResult{ Score = 20, Grade = 2.9f},
new GradingResult{ Score = 21, Grade = 2.7f},
new GradingResult{ Score = 22, Grade = 2.6f},
new GradingResult{ Score = 23, Grade = 2.4f},
new GradingResult{ Score = 24, Grade = 2.2f},
new GradingResult{ Score = 25, Grade = 2.1f},
new GradingResult{ Score = 26, Grade = 1.9f},
new GradingResult{ Score = 27, Grade = 1.8f},
new GradingResult{ Score = 28, Grade = 1.6f},
new GradingResult{ Score = 29, Grade = 1.5f},
new GradingResult{ Score = 30, Grade = 1.3f},
new GradingResult{ Score = 31, Grade = 1.2f},
new GradingResult {Score = 32, Grade = 1.0f },
}, "nextparameter"
);
Now I compare the computed gradingResult with the test gradingResult via:
Assert.IsTrue(gradingResults.SequenceEqual(testGradingResults));
Test is not green, although the both result lists should be equal due to the definition here:
https://msdn.microsoft.com/en-us/library/bb348567(v=vs.100).aspx
My guess is that the whole grades like gradingResults 6,5,4,3,2,1 and the test gradingResults 6.0 , 5.0, 4.0, 3.0, 2.0, 1.0 are the cause of the failed test.
Can someone please shed some light on this situation please?
Why does the test fail? My sample is pretty similar to the Pets sample!