public void ZipRepeatSecond_1() { var a = new[] {1, 2}; var b = new[] {3, 4}; var c = Isotope.Collections.EnumerableUtil.ZipRepeatSecond(a, b).ToList(); Assert.AreEqual(2, c.Count); Assert.AreEqual(1, c[0].Item1); Assert.AreEqual(3, c[0].Item2); Assert.AreEqual(2, c[1].Item1); Assert.AreEqual(4, c[1].Item2); }
public void Chunkify_1() { var items1 = new[] { 0, 1, 2, 3, 4, 5, 6, 7 }; var chunks1 = EnumerableUtil.Chunkify(items1, 1); Assert.AreEqual(items1.Length, chunks1.Count); Assert.AreEqual(items1.Length, chunks1.Select(c => c.Count).Sum()); var items2 = new[] { 0, 1, 2, 3, 4, 5, 6, 7 }; var chunks2 = EnumerableUtil.Chunkify(items2, 3); Assert.AreEqual(3, chunks2.Count); Assert.AreEqual(3, chunks2[0].Count); Assert.AreEqual(3, chunks2[1].Count); Assert.AreEqual(2, chunks2[2].Count); var items3 = new[] { 0, 1, 2, 3, 4, 5 }; var chunks3 = EnumerableUtil.Chunkify(items3, 3); Assert.AreEqual(2, chunks3.Count); Assert.AreEqual(3, chunks3[0].Count); Assert.AreEqual(3, chunks3[1].Count); var items4 = new[] { 0, 1, 2, 3, 4, 5, 6 }; var chunks4 = EnumerableUtil.Chunkify(items4, 3); Assert.AreEqual(3, chunks4.Count); Assert.AreEqual(3, chunks4[0].Count); Assert.AreEqual(3, chunks4[1].Count); Assert.AreEqual(1, chunks4[2].Count); }
public void Zip1() { var a = new[] {1, 2}; var b = new[] {8, 9}; var c = Isotope.Collections.EnumerableUtil.Zip(a, b, (A, B) => new {A, B}).ToList(); }
public void Histogram_1() { var a1 = new string[] { "0", "1", "2", "1" }; var dic1 = EnumerableUtil.Histogram(a1); Assert.AreEqual(3, dic1.Keys.Count); Assert.AreEqual(1, dic1["0"]); Assert.AreEqual(2, dic1["1"]); Assert.AreEqual(1, dic1["2"]); var a2 = new [] { 0, 1, 2, 3, 4, 5, 6, 7 }; var dic2 = EnumerableUtil.Histogram(a2, i=>i%3, null); Assert.AreEqual(3, dic2.Keys.Count); Assert.AreEqual(3, dic2[0]); Assert.AreEqual(3, dic2[1]); Assert.AreEqual(2, dic2[2]); Assert.AreEqual(a2.Length , dic2.Keys.Select( k=> dic2[k]).Sum()); }