public void Clone() { var criteria = new List <IIterationStopCriterium <float> > { new FailureStopCriterium(), new DivergenceStopCriterium(), new IterationCountStopCriterium <float>(), new ResidualStopCriterium() }; var iterator = new Iterator(criteria); var clonedIterator = iterator.Clone(); Assert.IsInstanceOf(typeof(Iterator), clonedIterator, "Incorrect type"); var clone = clonedIterator as Iterator; Assert.IsNotNull(clone); // ReSharper disable PossibleNullReferenceException Assert.AreEqual(iterator.NumberOfCriteria, clone.NumberOfCriteria, "Incorrect criterium count"); // ReSharper restore PossibleNullReferenceException foreach (var criterium in clone.StoredStopCriteria) { Assert.IsTrue(criteria.Exists(c => c.GetType() == criterium.GetType()), "Criterium missing"); } }
public void Clone() { var criteria = new List <IIterationStopCriterium <Complex> > { new FailureStopCriterium(), new DivergenceStopCriterium(), new IterationCountStopCriterium(), new ResidualStopCriterium() }; var iterator = new Iterator(criteria); var clonedIterator = iterator.Clone(); Assert.IsInstanceOfType(typeof(Iterator), clonedIterator, "Incorrect type"); var clone = clonedIterator as Iterator; Assert.IsNotNull(clone); // ReSharper disable PossibleNullReferenceException Assert.AreEqual(iterator.NumberOfCriteria, clone.NumberOfCriteria, "Incorrect criterium count"); // ReSharper restore PossibleNullReferenceException var enumerator = clone.StoredStopCriteria; while (enumerator.MoveNext()) { var criterium = enumerator.Current; Assert.IsTrue(criteria.Exists(c => c.GetType().Equals(criterium.GetType())), "Criterium missing"); } }
public void Clone() { var criteria = new List<IIterationStopCriterium<Complex32>> { new FailureStopCriterium(), new DivergenceStopCriterium(), new IterationCountStopCriterium(), new ResidualStopCriterium() }; var iterator = new Iterator(criteria); var clonedIterator = iterator.Clone(); Assert.IsInstanceOfType(typeof(Iterator), clonedIterator, "Incorrect type"); var clone = clonedIterator as Iterator; Assert.IsNotNull(clone); // ReSharper disable PossibleNullReferenceException Assert.AreEqual(iterator.NumberOfCriteria, clone.NumberOfCriteria, "Incorrect criterium count"); // ReSharper restore PossibleNullReferenceException var enumerator = clone.StoredStopCriteria; while (enumerator.MoveNext()) { var criterium = enumerator.Current; Assert.IsTrue(criteria.Exists(c => c.GetType().Equals(criterium.GetType())), "Criterium missing"); } }
public void Clone() { var criteria = new List<IIterationStopCriterium> { new FailureStopCriterium(), new DivergenceStopCriterium(), new IterationCountStopCriterium(), new ResidualStopCriterium() }; var iterator = new Iterator(criteria); var clonedIterator = iterator.Clone(); Assert.IsInstanceOf(typeof (Iterator), clonedIterator, "Incorrect type"); var clone = clonedIterator as Iterator; Assert.IsNotNull(clone); // ReSharper disable PossibleNullReferenceException Assert.AreEqual(iterator.NumberOfCriteria, clone.NumberOfCriteria, "Incorrect criterium count"); // ReSharper restore PossibleNullReferenceException foreach (var criterium in clone.StoredStopCriteria) { Assert.IsTrue(criteria.Exists(c => c.GetType() == criterium.GetType()), "Criterium missing"); } }