public void ToGeneralMatrixTest1()
{
// Example from http://www.iph.ufrgs.br/corpodocente/marques/cd/rd/presabs.htm
ConfusionMatrix matrix = new ConfusionMatrix
(
truePositives: 70,
trueNegatives: 95,
falsePositives: 5,
falseNegatives: 30
);
Assert.AreEqual(70, matrix.TruePositives);
Assert.AreEqual(5, matrix.FalsePositives);
Assert.AreEqual(95, matrix.TrueNegatives);
Assert.AreEqual(30, matrix.FalseNegatives);
GeneralConfusionMatrix general = matrix.ToGeneralMatrix();
Assert.AreEqual(matrix.Kappa, general.Kappa, 1e-10);
Assert.AreEqual(matrix.Accuracy, general.OverallAgreement, 1e-10);
Assert.AreEqual(matrix.StandardError, general.StandardError, 1e-10);
Assert.AreEqual(matrix.StandardErrorUnderNull, general.StandardErrorUnderNull, 1e-10);
Assert.AreEqual(matrix.Variance, general.Variance, 1e-10);
Assert.AreEqual(matrix.VarianceUnderNull, general.VarianceUnderNull, 1e-10);
Assert.AreEqual(matrix.Samples, general.Samples);
Assert.IsFalse(double.IsNaN(general.Kappa));
Assert.IsFalse(double.IsNaN(general.OverallAgreement));
Assert.IsFalse(double.IsNaN(general.StandardError));
Assert.IsFalse(double.IsNaN(general.StandardErrorUnderNull));
Assert.IsFalse(double.IsNaN(general.Variance));
Assert.IsFalse(double.IsNaN(general.VarianceUnderNull));
}