public void ModeTest_Comparable()
{
int a = 1;
int b = 10;
int c = 100;
int[] values;
int actual;
values = new[] { a, a, b, c };
actual = Measures.Mode(values);
Assert.AreEqual(a, actual);
values = new[] { a, b, b, c };
actual = Measures.Mode(values);
Assert.AreEqual(b, actual);
values = new[] { a, b, c, c };
actual = Measures.Mode(values);
Assert.AreEqual(c, actual);
int count;
values = new[] { a, b, c, a };
actual = Measures.Mode(values, out count);
Assert.AreEqual(a, actual);
Assert.AreEqual(2, count);
values = new[] { b, a, b, b, c };
actual = Measures.Mode(values, out count);
Assert.AreEqual(b, actual);
Assert.AreEqual(3, count);
values = new[] { c, c, a, b, c, c };
actual = Measures.Mode(values, out count);
Assert.AreEqual(c, actual);
Assert.AreEqual(4, count);
}