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"); } }
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"); } }
public void Remove() { var criteria = new List <IIterationStopCriterium <Complex> > { new FailureStopCriterium(), new DivergenceStopCriterium(), new IterationCountStopCriterium(), new ResidualStopCriterium() }; var iterator = new Iterator(criteria); Assert.AreEqual(criteria.Count, iterator.NumberOfCriteria, "Incorrect criterium count"); foreach (var criterium in criteria) { iterator.Remove(criterium); Assert.IsFalse(iterator.Contains(criterium), "Did not remove the criterium"); } }
public void Remove() { var criteria = new List<IIterationStopCriterium> { new FailureStopCriterium(), new DivergenceStopCriterium(), new IterationCountStopCriterium(), new ResidualStopCriterium() }; var iterator = new Iterator(criteria); Assert.AreEqual(criteria.Count, iterator.NumberOfCriteria, "Incorrect criterium count"); foreach (var criterium in criteria) { iterator.Remove(criterium); Assert.IsFalse(iterator.Contains(criterium), "Did not remove the criterium"); } }
/// <summary> /// thisがotherの子孫であるかどうかを返す.自分自身の場合もtrue. /// </summary> public virtual bool IsDescendant(MemoTag other) { var ite = new Iterator <MemoTag>(this, tag => new[] { tag.SuperTag, }); return(ite.Contains(other)); }
/// <summary> /// thisがotherの祖先であるかどうかを返す.自分自身の場合もtrue. /// </summary> public virtual bool IsAscendant(MemoTag other) { var ite = new Iterator <MemoTag>(this, tag => tag.SubTags); return(ite.Contains(other)); }