public void AccuracyTest() { var actual = new Matrix(100, 1); var expected = new Matrix(100, 1); actual.InRandomize(0.25, 0.75); expected.InRandomize(0.25, 0.75); var metric = new Accuracy(); var e = metric.Evaluate(actual, expected); var val = 0.0; for (var i = 0; i < actual.Rows; i++) { for (var j = 0; j < actual.Columns; j++) { val += Math.Abs(actual[i, j] - expected[i, j]) < 0.5 ? 0 : 1; } } val /= actual.Rows * actual.Columns; Assert.IsTrue(Math.Abs(e - val) < 0.01, metric.Type().ToString() + " Evaluate."); }