public void ConfusionMatrixConstructorTest2()
{
// The correct and expected output values (as confirmed by a Gold
// standard rule, actual experiment or true verification)
bool[] expected = { false, false, true, false, true, false, false, false, false, false };
// The values as predicted by the decision system or
// the test whose performance is being measured.
bool[] predicted = { false, false, false, true, true, false, false, false, false, true };
// Create a new confusion matrix using the given parameters
ConfusionMatrix matrix = new ConfusionMatrix(predicted, expected);
int falseNegatives = 1;
int falsePositives = 2;
int truePositives = 1;
int trueNegatives = 6;
Assert.AreEqual(predicted.Length, matrix.Samples);
Assert.AreEqual(8, matrix.ActualNegatives);
Assert.AreEqual(2, matrix.ActualPositives);
Assert.AreEqual(7, matrix.PredictedNegatives);
Assert.AreEqual(3, matrix.PredictedPositives);
Assert.AreEqual(falseNegatives, matrix.FalseNegatives);
Assert.AreEqual(falsePositives, matrix.FalsePositives);
Assert.AreEqual(truePositives, matrix.TruePositives);
Assert.AreEqual(trueNegatives, matrix.TrueNegatives);
}