public int SelectHyper() { var source = ReadOnlyListExtensions.Select <ImmutableArray <int>, int, int>(array, item => item); var sum = 0; for (var index = 0; index < source.Count; index++) { sum += source[index]; } return(sum); }
public void Select_With_NullSelector_Must_Throw() { // Arrange var source = Wrap.AsReadOnlyList(new int[0]); var selector = (NullableSelectorAt <int, string>)null; // Act Action action = () => _ = ReadOnlyListExtensions.Select <Wrap.ReadOnlyListWrapper <int>, int, string>(source, selector); // Assert _ = action.Must() .Throw <ArgumentNullException>() .EvaluateTrue(exception => exception.ParamName == "selector"); }
public void Select_With_ValidData_Must_Succeed(int[] source, NullableSelectorAt <int, string> selector) { // Arrange var wrapped = Wrap.AsReadOnlyList(source); var expected = System.Linq.Enumerable.Select(wrapped, selector.AsFunc()); // Act var result = ReadOnlyListExtensions .Select <Wrap.ReadOnlyListWrapper <int>, int, string>(wrapped, selector); // Assert _ = result.Must() .BeEnumerableOf <string>() .BeEqualTo(expected); }
public void ToList_SelectorAt_With_Null_Must_Throw() { // Arrange var source = new int[0]; var wrapped = Wrap.AsReadOnlyList(source); var selector = (NullableSelectorAt <int, string>)null; // Act Action action = () => _ = ReadOnlyListExtensions .Select(wrapped, selector) .ToList(); // Assert _ = action.Must() .Throw <ArgumentNullException>() .EvaluateTrue(exception => exception.ParamName == "selector"); }