예제 #1
1
        public void Add()
        {
            var criteria = new List<IIterationStopCriterium>
                           {
                               new FailureStopCriterium(),
                               new DivergenceStopCriterium(),
                               new IterationCountStopCriterium(),
                               new ResidualStopCriterium()
                           };
            var iterator = new Iterator();
            Assert.AreEqual(0, iterator.NumberOfCriteria, "Incorrect criterium count");

            foreach (var criterium in criteria)
            {
                iterator.Add(criterium);
                Assert.IsTrue(iterator.Contains(criterium), "Missing criterium");
            }

            // Check that we have all the criteria
            Assert.AreEqual(criteria.Count, iterator.NumberOfCriteria, "Incorrect criterium count");
            var enumerator = iterator.StoredStopCriteria;
            while (enumerator.MoveNext())
            {
                var criterium = enumerator.Current;
                Assert.IsTrue(criteria.Exists(c => ReferenceEquals(c, criterium)), "Criterium missing");
            }
        }
예제 #2
0
        public void AddWithExistingStopCriteriumThrowsArgumentException()
        {
            var iterator = new Iterator();
            iterator.Add(new FailureStopCriterium());
            Assert.AreEqual(1, iterator.NumberOfCriteria, "Incorrect criterium count");

            Assert.Throws<ArgumentException>(() => iterator.Add(new FailureStopCriterium()));
        }
예제 #3
0
        public void AddWithExistingStopCriterium()
        {
            var iterator = new Iterator();
            iterator.Add(new FailureStopCriterium());
            Assert.AreEqual(1, iterator.NumberOfCriteria, "Incorrect criterium count");

            iterator.Add(new FailureStopCriterium());
        }
        public void AddWithExistingStopCriterium()
        {
            var iterator = new Iterator();

            iterator.Add(new FailureStopCriterium());
            Assert.AreEqual(1, iterator.NumberOfCriteria, "Incorrect criterium count");

            iterator.Add(new FailureStopCriterium());
        }
예제 #5
0
        public void AddWithExistingStopCriteriumThrowsArgumentException()
        {
            var iterator = new Iterator();

            iterator.Add(new FailureStopCriterium());
            Assert.AreEqual(1, iterator.NumberOfCriteria, "Incorrect criterium count");

            Assert.Throws <ArgumentException>(() => iterator.Add(new FailureStopCriterium()));
        }
        public void Add()
        {
            var criteria = new List <IIterationStopCriterium <Complex> >
            {
                new FailureStopCriterium(),
                new DivergenceStopCriterium(),
                new IterationCountStopCriterium(),
                new ResidualStopCriterium()
            };
            var iterator = new Iterator();

            Assert.AreEqual(0, iterator.NumberOfCriteria, "Incorrect criterium count");

            foreach (var criterium in criteria)
            {
                iterator.Add(criterium);
                Assert.IsTrue(iterator.Contains(criterium), "Missing criterium");
            }

            // Check that we have all the criteria
            Assert.AreEqual(criteria.Count, iterator.NumberOfCriteria, "Incorrect criterium count");
            var enumerator = iterator.StoredStopCriteria;

            while (enumerator.MoveNext())
            {
                var criterium = enumerator.Current;
                Assert.IsTrue(criteria.Exists(c => ReferenceEquals(c, criterium)), "Criterium missing");
            }
        }
예제 #7
0
        /// <exception cref="ParseException">Unrecognized token '{0}' in matrix foreach</exception>
        private IValue ParseMatrixForEach(ObjectNode context, TokenTypes terminators, Iterator rvalue)
        {
            rvalue.Add(ParseRValue(context, CommaOrCloseParenthesis, null));

            switch (Type)
            {
            case TokenType.CloseParenthesis:
                return(ExpectingForEach(context, terminators, rvalue));

            case TokenType.Comma:
                return(ParseMatrixForEach(context, terminators, rvalue));
            }
            throw Fail(ErrorCode.TokenNotExpected, "Unrecognized token '{0}' in matrix foreach");
        }
 public void AddWithNullStopCriteriumThrowsArgumentNullException()
 {
     var iterator = new Iterator();
     Assert.Throws<ArgumentNullException>(() => iterator.Add(null));
 }
        public void AddWithNullStopCriterium()
        {
            var iterator = new Iterator();

            iterator.Add(null);
        }
예제 #10
0
        public void AddWithNullStopCriteriumThrowsArgumentNullException()
        {
            var iterator = new Iterator();

            Assert.Throws <ArgumentNullException>(() => iterator.Add(null));
        }
예제 #11
0
 public void AddWithNullStopCriterium()
 {
     var iterator = new Iterator();
     iterator.Add(null);
 }