public void All_With_NullPredicate_Must_Throw()
        {
            // Arrange
            var wrapped   = Wrap.AsValueReadOnlyList(new int[0]);
            var predicate = (Predicate <int>)null;

            // Act
            Action action = () => _ = ReadOnlyList
                                      .All <Wrap.ValueReadOnlyList <int>, int>(wrapped, predicate);

            // Assert
            _ = action.Must()
                .Throw <ArgumentNullException>()
                .EvaluateTrue(exception => exception.ParamName == "predicate");
        }
        public void All_With_ValidData_Must_Succeed(int[] source, Predicate <int> predicate)
        {
            // Arrange
            var wrapped  = Wrap.AsValueReadOnlyList(source);
            var expected =
                System.Linq.Enumerable.All(wrapped, predicate.AsFunc());

            // Act
            var result = ReadOnlyList
                         .All <Wrap.ValueReadOnlyList <int>, int>(wrapped, predicate);

            // Assert
            _ = result.Must()
                .BeEqualTo(expected);
        }