Ejemplo n.º 1
0
        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);
        }