public void FoldTest() { Assert.AreEqual(6, FoldExamples.Fold((acc, elem) => acc + elem, 0, Enumerable.Range(1, 3))); Assert.AreEqual(256, FoldExamples.StringToInt("256")); //or, you can use Aggregate Assert.AreEqual(6, Enumerable.Range(1, 3).Aggregate(0, (acc, elem) => acc + elem)); }
public void PartitionByTest() { Assert.AreEqual(new[] { new[] { 1, 2 }, new[] { 0, 9 }, new[] { 5, 6, 10 }, new[] { 1 } }, FoldExamples.PartitionBy((x, y) => x < y, new[] { 1, 2, 0, 9, 5, 6, 10, 1 })); }
public void FlattenTest() { Assert.AreEqual(new[] { 3, 4, 1, 2, 2, 5 }, FoldExamples.Flatten(new[] { new[] { 3, 4 }, new[] { 1 }, new[] { 2, 2, 5 } })); }
public void StringToIntAggregateTest() { Assert.AreEqual(256, FoldExamples.StringToIntAggregate("256")); }