public void WScore()
{
int[] signs = { -1, -1, +1, -1, +1, +1, +1, +1, +1, +1, +1, +1 };
double[] ranks = { 1, 2, 3, 4, 5.5, 5.5, 7, 8, 9, 10, 11, 12 };
double[] diffs = { 0.1, 0.2, 0.3, 0.6, 1.5, 1.5, 1.8, 2.0, 2.1, 2.3, 2.6, 12.4 };
double wm, wp, w;
{
double expected = 7;
wm = WilcoxonDistribution.WNegative(signs, ranks);
Assert.AreEqual(expected, wm);
}
{
double expected = 71;
wp = WilcoxonDistribution.WPositive(signs, ranks);
Assert.AreEqual(expected, wp);
}
{
double expected = 7;
w = WilcoxonDistribution.WMinimum(signs, ranks);
Assert.AreEqual(expected, w);
}
{
double n = signs.Length;
double total = wm + wp;
double expected = (n * (n + 1)) / 2;
Assert.AreEqual(expected, total);
}
}