Пример #1
0
        public static async Task <IReadOnlyCollection <T> > GetAsync <T>(
            this IIndexReadOperations <T> readOperations, IEnumerable <object> ids,
            CancellationToken cancellationToken) where T : class
        {
            // Validate parameters.
            if (readOperations == null)
            {
                throw new ArgumentNullException(nameof(readOperations));
            }
            if (ids == null)
            {
                throw new ArgumentNullException(nameof(ids));
            }

            // Materialize.
            IReadOnlyCollection <object> materializedIds = ids.ToReadOnlyCollection();

            // If no items, return.
            if (materializedIds.Count == 0)
            {
                return(ReadOnlyCollectionExtensions.Empty <T>());
            }

            // Create the request.
            var request = new GetRequest {
                Ids  = materializedIds,
                Take = materializedIds.Count
            };

            // Return the response.
            return((await readOperations.GetAsync(request, cancellationToken)
                    .ConfigureAwait(false)).Hits.Select(h => h.Item).ToReadOnlyCollection());
        }
Пример #2
0
        public int Hyperlinq_Collection_Value()
        {
            var sum = 0;

            foreach (var item in ReadOnlyCollectionExtensions.AsValueEnumerable <TestCollection.Enumerable, TestCollection.Enumerable.Enumerator, int>(collectionValue, enumerable => enumerable.GetEnumerator()).Distinct())
            {
                sum += item;
            }
            return(sum);
        }
        public int IterateOverWhereResult_Struct()
        {
            int sum = 0;

            foreach (var number in ReadOnlyCollectionExtensions.Where(Numbers, number => number % 2 == 0))
            {
                sum += number;
            }

            return(sum);
        }
Пример #4
0
        public int Hyperlinq_Collection_Value()
        {
            var sum = 0;

            foreach (var item in ReadOnlyCollectionExtensions.AsValueEnumerable <TestCollection.Enumerable, TestCollection.Enumerable.Enumerator, int>(collectionValue, enumerable => enumerable.GetEnumerator())
                     .Where(item => (item & 0x01) == 0)
                     .Select(item => item))
            {
                sum += item;
            }
            return(sum);
        }
Пример #5
0
        public void AsValueEnumerable_With_ValidData_Must_Succeed(int[] source)
        {
            // Arrange
            var wrapped = Wrap
                          .AsReadOnlyCollection(source);

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

            // Assert
            _ = result.Must()
                .BeOfType <ReadOnlyCollectionExtensions.ValueEnumerableWrapper <int> >()
                .BeEnumerableOf <int>()
                .BeEqualTo(wrapped);
        }
Пример #6
0
        public void AsValueEnumerable_GetEnumerator_With_ValidData_Must_Succeed(int[] source)
        {
            // Arrange
            var wrapped = Wrap
                          .AsReadOnlyCollection(source);

            // Act
            var result = ReadOnlyCollectionExtensions
                         .AsValueEnumerable <Wrap.ReadOnlyCollectionWrapper <int>, Wrap.Enumerator <int>, int>(wrapped, enumerable => enumerable.GetEnumerator());

            // Assert
            _ = result.Must()
                .BeOfType <ReadOnlyCollectionExtensions.ValueEnumerableWrapper <Wrap.ReadOnlyCollectionWrapper <int>, Wrap.Enumerator <int>, int, FunctionWrapper <Wrap.ReadOnlyCollectionWrapper <int>, Wrap.Enumerator <int> > > >()
                .BeEnumerableOf <int>()
                .BeEqualTo(wrapped);
        }
Пример #7
0
        public void AsValueEnumerable_GetEnumerator_Collection_With_ToArray_Must_Succeed(int[] source)
        {
            // Arrange
            var wrapped = Wrap
                          .AsCollection(source);
            var expected = Enumerable
                           .ToArray(source);

            // Act
            var result = ReadOnlyCollectionExtensions
                         .AsValueEnumerable <Wrap.CollectionWrapper <int>, Wrap.Enumerator <int>, int>(wrapped, enumerable => enumerable.GetEnumerator())
                         .ToArray();

            // Assert
            _ = result.Must()
                .BeArrayOf <int>()
                .BeEqualTo(expected);
        }
        public void ToArray_With_ValidData_Collections_Must_Succeed(int[] source)
        {
            // Arrange
            var wrapped = Wrap
                          .AsCollection(source);
            var expected = Enumerable
                           .ToArray(source);

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

            // Assert
            _ = result.Must()
                .BeArrayOf <int>()
                .BeEqualTo(expected);
        }
Пример #9
0
        public void AsValueEnumerable6_Enumerator2_With_ValidData_Must_Succeed(int[] source)
        {
            // Arrange
            var wrapped = Wrap
                          .AsReadOnlyCollection(source);

            // Act
            var result = ReadOnlyCollectionExtensions
                         .AsValueEnumerable <Wrap.ReadOnlyCollectionWrapper <int>, Wrap.Enumerator <int>, ValueEnumerator <int>, int>(
                wrapped,
                enumerable => enumerable.GetEnumerator(),
                enumerable => new ValueEnumerator <int>(((IEnumerable <int>)enumerable).GetEnumerator()));

            // Assert
            _ = result.Must()
                .BeEnumerableOf <int>()
                .BeEqualTo(source);
        }
Пример #10
0
        public void AsValueEnumerable_With_ToList_Must_Succeed(int[] source)
        {
            // Arrange
            var wrapped = Wrap
                          .AsReadOnlyCollection(source);
            var expected = Enumerable
                           .ToList(source);

            // Act
            var result = ReadOnlyCollectionExtensions
                         .AsValueEnumerable <int>(wrapped)
                         .ToList();

            // Assert
            _ = result.Must()
                .BeOfType <List <int> >()
                .BeEnumerableOf <int>()
                .BeEqualTo(expected);
        }
 public bool Hyperlinq_Collection_Value() =>
 ReadOnlyCollectionExtensions.AsValueEnumerable <TestCollection.Enumerable, TestCollection.Enumerable.Enumerator, int>(collectionValue, enumerable => enumerable.GetEnumerator())
 .Contains(Count - 1, EqualityComparer <int> .Default);
Пример #12
0
 public bool Hyperlinq_Collection_Value()
 => ReadOnlyCollectionExtensions.AsValueEnumerable <TestCollection.Enumerable, TestCollection.Enumerable.Enumerator, int>(collectionValue, enumerable => enumerable.GetEnumerator())
 .Any(_ => false);
 public int[] Hyperlinq_Collection_Value() =>
 ReadOnlyCollectionExtensions.AsValueEnumerable <TestCollection.Enumerable, TestCollection.Enumerable.Enumerator, int>(collectionValue, enumerable => enumerable.GetEnumerator())
 .ToArray();
Пример #14
0
 public int Hyperlinq_Collection_Value()
 => ReadOnlyCollectionExtensions.AsValueEnumerable <TestCollection.Enumerable, TestCollection.Enumerable.Enumerator, int>(collectionValue, enumerable => enumerable.GetEnumerator())
 .Select(item => item)
 .Count();
Пример #15
0
 public bool Hyperlinq_Collection_Value() =>
 ReadOnlyCollectionExtensions.AsValueEnumerable <TestCollection.Enumerable, TestCollection.Enumerable.Enumerator, int>(collectionValue, enumerable => enumerable.GetEnumerator())
 .All(item => (item & 0x01) == 0);
Пример #16
0
 public bool Hyperlinq_Collection_Value() =>
 ReadOnlyCollectionExtensions.AsValueEnumerable <TestCollection.Enumerable, TestCollection.Enumerable.Enumerator, int>(collectionValue, enumerable => enumerable.GetEnumerator())
 .Contains(Count - 1, this);
 public bool Hyperlinq_Collection_Reference() =>
 ReadOnlyCollectionExtensions.AsValueEnumerable(collectionReference)
 .Contains(Count - 1);
Пример #18
0
 public int MinReadOnlyCollection_Slinq()
 {
     return(ReadOnlyCollectionExtensions.Min(ReadOnlyCollection));
 }
Пример #19
0
 public int SumReadOnlyCollection_Slinq()
 {
     return(ReadOnlyCollectionExtensions.Sum(ReadOnlyCollection));
 }
Пример #20
0
 public Option <int> Hyperlinq_Collection_Value() =>
 ReadOnlyCollectionExtensions.AsValueEnumerable <TestCollection.Enumerable, TestCollection.Enumerable.Enumerator, int>(collectionValue, enumerable => enumerable.GetEnumerator())
 .First();
 public List <int> Hyperlinq_Collection_Value() =>
 ReadOnlyCollectionExtensions.AsValueEnumerable <TestCollection.Enumerable, TestCollection.Enumerable.Enumerator, int>(collectionValue, enumerable => enumerable.GetEnumerator())
 .Where(item => (item & 0x01) == 0)
 .ToList();
 public Option <int> Hyperlinq_Collection_Value()
 => ReadOnlyCollectionExtensions.AsValueEnumerable <TestCollection.Enumerable, TestCollection.Enumerable.Enumerator, int>(collectionValue, enumerable => enumerable.GetEnumerator())
 .Where(item => item == Count - 1)
 .Single();