Example #1
0
        public void ElementAtOrDefault_With_OutOfRange_Must_ReturnDefault(int[] source, int index)
        {
            // Arrange
            var wrapped = Wrap
                          .AsValueReadOnlyCollection(source);

            // Act
            var result = ValueReadOnlyCollection
                         .ElementAtOrDefault <Wrap.ValueReadOnlyCollection <int>, Wrap.Enumerator <int>, int>(wrapped, index);

            // Assert
            _ = result.Must()
                .BeEqualTo(default);
        public void Contains_ValueType_With_Null_And_NotContains_Must_ReturnFalse(int[] source)
        {
            // Arrange
            const int value   = int.MaxValue;
            var       wrapped = Wrap.AsValueReadOnlyCollection(source);

            // Act
            var result = wrapped.AsValueEnumerable()
                         .Contains(value);

            // Assert
            _ = result.Must()
                .BeFalse();
        }
        public void Skip_With_ValidData_Must_Succeed(int[] source, int count)
        {
            // Arrange
            var wrapped  = Wrap.AsValueReadOnlyCollection(source);
            var expected = System.Linq.Enumerable.Skip(wrapped, count);

            // Act
            var result = ValueReadOnlyCollectionExtensions.Skip <Wrap.ValueReadOnlyCollectionWrapper <int>, Wrap.Enumerator <int>, int>(wrapped, count);

            // Assert
            _ = result.Must()
                .BeEnumerableOf <int>()
                .BeEqualTo(expected);
        }
        public void ElementAt_With_OutOfRange_Must_Throw(int[] source, int index)
        {
            // Arrange
            var wrapped = Wrap
                          .AsValueReadOnlyCollection(source);

            // Act
            Action action = () => _ = ValueReadOnlyCollection
                                      .ElementAt <Wrap.ValueReadOnlyCollection <int>, Wrap.Enumerator <int>, int>(wrapped, index);

            // Assert
            _ = action.Must()
                .Throw <ArgumentOutOfRangeException>();
        }
Example #5
0
        public void Select_With_NullSelector_Must_Throw()
        {
            // Arrange
            var collection = Wrap.AsValueReadOnlyCollection(new int[0]);
            var selector   = (NullableSelector <int, string>)null;

            // Act
            Action action = () => _ = ValueReadOnlyCollectionExtensions.Select <Wrap.ValueReadOnlyCollectionWrapper <int>, Wrap.Enumerator <int>, int, string>(collection, selector);

            // Assert
            _ = action.Must()
                .Throw <ArgumentNullException>()
                .EvaluateTrue(exception => exception.ParamName == "selector");
        }
        public void Contains_With_Comparer_And_NotContains_Must_ReturnFalse(int[] source)
        {
            // Arrange
            var value   = int.MaxValue;
            var wrapped = Wrap.AsValueReadOnlyCollection(source);

            // Act
            var result = ValueReadOnlyCollection
                         .Contains <Wrap.ValueReadOnlyCollection <int>, Wrap.Enumerator <int>, int>(wrapped, value, EqualityComparer <int> .Default);

            // Assert
            _ = result.Must()
                .BeFalse();
        }
        public void Contains_With_DefaultComparer_And_NotContains_Must_ReturnFalse(int[] source)
        {
            // Arrange
            const int value   = int.MaxValue;
            var       wrapped = Wrap.AsValueReadOnlyCollection(source);

            // Act
            var result = wrapped.AsValueEnumerable()
                         .Contains(value, EqualityComparer <int> .Default);

            // Assert
            _ = result.Must()
                .BeFalse();
        }
        public void Contains_ValueType_With_Null_And_Contains_Must_ReturnTrue(int[] source)
        {
            // Arrange
            var value   = System.Linq.Enumerable.Last(source);
            var wrapped = Wrap.AsValueReadOnlyCollection(source);

            // Act
            var result = ValueReadOnlyCollectionExtensions
                         .Contains <Wrap.ValueReadOnlyCollectionWrapper <int>, Wrap.Enumerator <int>, int>(wrapped, value);

            // Assert
            _ = result.Must()
                .BeTrue();
        }
        public void Contains_ReferenceType_With_Null_And_Contains_Must_ReturnTrue(int[] source)
        {
            // Arrange
            var value   = System.Linq.Enumerable.Last(source).ToString();
            var wrapped = Wrap.AsValueReadOnlyCollection(source.Select(item => item.ToString()).ToArray());

            // Act
            var result = ValueReadOnlyCollectionExtensions
                         .Contains <Wrap.ValueReadOnlyCollectionWrapper <string>, Wrap.Enumerator <string>, string>(wrapped, value);

            // Assert
            _ = result.Must()
                .BeTrue();
        }
        public void Contains_ValueType_With_Null_And_NotContains_Must_ReturnFalse(int[] source)
        {
            // Arrange
            var value   = int.MaxValue;
            var wrapped = Wrap.AsValueReadOnlyCollection(source);

            // Act
            var result = ValueReadOnlyCollectionExtensions
                         .Contains <Wrap.ValueReadOnlyCollectionWrapper <int>, Wrap.Enumerator <int>, int>(wrapped, value);

            // Assert
            _ = result.Must()
                .BeFalse();
        }
        public void Contains_ReferenceType_With_Null_And_NotContains_Must_ReturnFalse(int[] source)
        {
            // Arrange
            const string?value   = default;
            var          wrapped = Wrap.AsValueReadOnlyCollection(source.Select <int, string?>(item => item.ToString()).ToArray());

            // Act
            var result = wrapped.AsValueEnumerable()
                         .Contains(value);

            // Assert
            _ = result.Must()
                .BeFalse();
        }
        public void Contains_With_Comparer_And_Contains_Must_ReturnTrue(int[] source)
        {
            // Arrange
            var value   = System.Linq.Enumerable.Last(source);
            var wrapped = Wrap.AsValueReadOnlyCollection(source);

            // Act
            var result = ValueReadOnlyCollection
                         .Contains <Wrap.ValueReadOnlyCollection <int>, Wrap.Enumerator <int>, int>(wrapped, value, EqualityComparer <int> .Default);

            // Assert
            _ = result.Must()
                .BeTrue();
        }
        public void First_With_Empty_Must_Return_None(int[] source)
        {
            // Arrange
            var wrapped = Wrap
                          .AsValueReadOnlyCollection(source);

            // Act
            var result = wrapped.AsValueEnumerable()
                         .First();

            // Assert
            _ = result.Must()
                .BeOfType <Option <int> >()
                .EvaluateTrue(option => option.IsNone);
        }
        public void AsValueReadOnlyCollection1_With_ValidData_Must_Succeed(int[] source)
        {
            // Arrange
            var wrapped = Wrap
                          .AsValueReadOnlyCollection(source);

            // Act
            var result = wrapped
                         .AsValueEnumerable();

            // Assert
            _ = result.Must()
                .BeEnumerableOf <int>()
                .BeEqualTo(source);
        }
        public void Any_PredicateAt_With_ValidData_Must_Succeed(int[] source, Func <int, int, bool> predicate)
        {
            // Arrange
            var wrapped  = Wrap.AsValueReadOnlyCollection(source);
            var expected =
                source.Where(predicate).Count() != 0;

            // Act
            var result = wrapped.AsValueEnumerable()
                         .Any(predicate);

            // Assert
            _ = result.Must()
                .BeEqualTo(expected);
        }
Example #16
0
        public void First_With_Empty_Must_Throw(int[] source)
        {
            // Arrange
            var wrapped = Wrap
                          .AsValueReadOnlyCollection(source);

            // Act
            Action action = () => _ = ValueReadOnlyCollection
                                      .First <Wrap.ValueReadOnlyCollection <int>, Wrap.Enumerator <int>, int>(wrapped);

            // Assert
            _ = action.Must()
                .Throw <InvalidOperationException>()
                .EvaluateTrue(exception => exception.Message == "Sequence contains no elements");
        }
        public void Single_With_Multiple_Must_Return_None(int[] source)
        {
            // Arrange
            var wrapped = Wrap
                          .AsValueReadOnlyCollection(source);

            // Act
            var result = ValueReadOnlyCollection
                         .Single <Wrap.ValueReadOnlyCollection <int>, Wrap.Enumerator <int>, int>(wrapped);

            // Assert
            _ = result.Must()
                .BeOfType <Option <int> >()
                .EvaluateTrue(option => option.IsNone);
        }
        public void Contains_ValueType_With_Null_And_Contains_Must_ReturnTrue(int[] source)
        {
            // Arrange
            var value = source
                        .Last();
            var wrapped = Wrap.AsValueReadOnlyCollection(source);

            // Act
            var result = wrapped.AsValueEnumerable()
                         .Contains(value);

            // Assert
            _ = result.Must()
                .BeTrue();
        }
        public void Contains_Selector_With_Null_And_NotContains_Must_ReturnFalse(int[] source, Selector <int, string> selector)
        {
            // Arrange
            var value   = "!";
            var wrapped = Wrap.AsValueReadOnlyCollection(source);

            // Act
            var result = ValueReadOnlyCollection
                         .Select <Wrap.ValueReadOnlyCollection <int>, Wrap.Enumerator <int>, int, string>(wrapped, selector)
                         .Contains(value, null);

            // Assert
            _ = result.Must()
                .BeFalse();
        }
        public void Any_With_ValidData_Must_Succeed(int[] source)
        {
            // Arrange
            var wrapped  = Wrap.AsValueReadOnlyCollection(source);
            var expected =
                System.Linq.Enumerable.Any(source);

            // Act
            var result = ValueReadOnlyCollection
                         .Any <Wrap.ValueReadOnlyCollection <int>, Wrap.Enumerator <int>, int>(wrapped);

            // Assert
            _ = result.Must()
                .BeEqualTo(expected);
        }
        public void Contains_With_Comparer_And_Contains_Must_ReturnTrue(int[] source)
        {
            // Arrange
            var value = source
                        .Last();
            var wrapped = Wrap.AsValueReadOnlyCollection(source);

            // Act
            var result = wrapped.AsValueEnumerable()
                         .Contains(value, TestComparer <int> .Instance);

            // Assert
            _ = result.Must()
                .BeTrue();
        }
Example #22
0
        public void SingleOrDefault_With_Multiple_Must_Throw(int[] source)
        {
            // Arrange
            var wrapped = Wrap
                          .AsValueReadOnlyCollection(source);

            // Act
            Action action = () => _ = ValueReadOnlyCollection
                                      .SingleOrDefault <Wrap.ValueReadOnlyCollection <int>, Wrap.Enumerator <int>, int>(wrapped);

            // Assert
            _ = action.Must()
                .Throw <InvalidOperationException>()
                .EvaluateTrue(exception => exception.Message == "Sequence contains more than one element");
        }
Example #23
0
        public void Sum_With_NullableDecimal_Must_Succeed(decimal?[] source)
        {
            // Arrange
            var wrapped  = Wrap.AsValueReadOnlyCollection(source);
            var expected = source
                           .Sum();

            // Act
            var result = wrapped.AsValueEnumerable()
                         .Sum();

            // Assert
            _ = result.Must()
                .BeEqualTo(expected !.Value);
        }
        public void All_With_ValidData_Must_Succeed(int[] source, Predicate <int> predicate)
        {
            // Arrange
            var wrapped  = Wrap.AsValueReadOnlyCollection(source);
            var expected =
                System.Linq.Enumerable.All(wrapped, predicate.AsFunc());

            // Act
            var result = ValueReadOnlyCollectionExtensions
                         .All <Wrap.ValueReadOnlyCollectionWrapper <int>, Wrap.Enumerator <int>, int>(wrapped, predicate);

            // Assert
            _ = result.Must()
                .BeEqualTo(expected);
        }
        public void All_With_NullPredicate_Must_Throw()
        {
            // Arrange
            var wrapped   = Wrap.AsValueReadOnlyCollection(new int[0]);
            var predicate = (Predicate <int>)null;

            // Act
            Action action = () => _ = ValueReadOnlyCollectionExtensions
                                      .All <Wrap.ValueReadOnlyCollectionWrapper <int>, Wrap.Enumerator <int>, int>(wrapped, predicate);

            // Assert
            _ = action.Must()
                .Throw <ArgumentNullException>()
                .EvaluateTrue(exception => exception.ParamName == "predicate");
        }
Example #26
0
        public void First_With_Empty_Must_Return_None(int[] source)
        {
            // Arrange
            var wrapped = Wrap
                          .AsValueReadOnlyCollection(source);

            // Act
            var result = ValueReadOnlyCollectionExtensions
                         .First <Wrap.ValueReadOnlyCollectionWrapper <int>, Wrap.Enumerator <int>, int>(wrapped);

            // Assert
            _ = result.Must()
                .BeOfType <Option <int> >()
                .EvaluateTrue(option => option.IsNone);
        }
Example #27
0
        public void SingleOrDefault_With_EmptyOrSingle_Must_Succeed(int[] source)
        {
            // Arrange
            var wrapped = Wrap
                          .AsValueReadOnlyCollection(source);
            var expected =
                System.Linq.Enumerable.SingleOrDefault(source);

            // Act
            var result = ValueReadOnlyCollection
                         .SingleOrDefault <Wrap.ValueReadOnlyCollection <int>, Wrap.Enumerator <int>, int>(wrapped);

            // Assert
            _ = result.Must()
                .BeEqualTo(expected);
        }
Example #28
0
        public void First_SelectorAt_With_Empty_Must_Return_None(int[] source, NullableSelectorAt <int, string> selector)
        {
            // Arrange
            var wrapped = Wrap
                          .AsValueReadOnlyCollection(source);

            // Act
            var result = ValueReadOnlyCollectionExtensions
                         .Select <Wrap.ValueReadOnlyCollectionWrapper <int>, Wrap.Enumerator <int>, int, string>(wrapped, selector)
                         .First();

            // Assert
            _ = result.Must()
                .BeOfType <Option <string> >()
                .EvaluateTrue(option => option.IsNone);
        }
        public void All_PredicateAt_With_ValidData_Must_Succeed(int[] source, PredicateAt <int> predicate)
        {
            // Arrange
            var wrapped  = Wrap.AsValueReadOnlyCollection(source);
            var expected =
                System.Linq.Enumerable.Count(
                    System.Linq.Enumerable.Where(source, predicate.AsFunc())) == source.Length;

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

            // Assert
            _ = result.Must()
                .BeEqualTo(expected);
        }
        public void Any_PredicateAt_With_Null_Must_Throw()
        {
            // Arrange
            var source    = new int[0];
            var wrapped   = Wrap.AsValueReadOnlyCollection(source);
            var predicate = (PredicateAt <int>)null;

            // Act
            Action action = () => _ = ValueReadOnlyCollection
                                      .Any <Wrap.ValueReadOnlyCollection <int>, Wrap.Enumerator <int>, int>(wrapped, predicate);

            // Assert
            _ = action.Must()
                .Throw <ArgumentNullException>()
                .EvaluateTrue(exception => exception.ParamName == "predicate");
        }