public virtual void TestMerge3() { IList <string> a = Arrays.AsList("a", "b", "d", "e"); IList <string> b = Arrays.AsList("b", "c", "d", "e"); IList <string> c = Arrays.AsList("a", "b", "c", "e", "f"); IComparator <string> comparator = IComparer.NaturalOrder(); IEnumerator <Triple <string, string, string> > iter = Iterables.Merge(a, b, c, comparator).GetEnumerator(); NUnit.Framework.Assert.AreEqual(iter.Current, new Triple <string, string, string>("b", "b", "b")); NUnit.Framework.Assert.AreEqual(iter.Current, new Triple <string, string, string>("e", "e", "e")); NUnit.Framework.Assert.IsTrue(!iter.MoveNext()); }