public void TestGradientEvaluationCounter() { int maxeval = 2; EndCriteria ec = new EndCriteria(100, 1e-8, maxeval, 100); Assert.AreEqual(ec.maxGradientEvaluation, maxeval); ec.gradientEvaluationCounter++; Assert.IsTrue(!ec.CheckGradientEvaluations()); Assert.AreEqual(ec.Criteria, EndCriteria.CriteriaType.None); ec.gradientEvaluationCounter++; Assert.IsTrue(ec.CheckGradientEvaluations()); Assert.AreEqual(ec.Criteria, EndCriteria.CriteriaType.MaximumGradientEvaluation); ec.Reset(); Assert.AreEqual(ec.gradientEvaluationCounter, 0); Assert.IsTrue(!ec.CheckGradientEvaluations()); Assert.AreEqual(ec.Criteria, EndCriteria.CriteriaType.None); }