Пример #1
0
        public void CanStreamAllUsersGivenPartialSelectionIsSpecified()
        {
            var stream = new DummyResultStream <UserEntity, UserDto>();

            IImmediateFlowQuery <UserEntity> query = Query <UserEntity>();

            PartialSelection <UserEntity, UserDto> selection = query
                                                               .PartialSelect(x => new UserDto(x.Firstname + " " + x.Lastname))
                                                               .Add(x => new UserDto
            {
                IsOnline = x.IsOnline,
                Id       = x.Id
            });

            Query <UserEntity>()
            .Streamed()
            .Select(stream, selection);

            Assert.That(stream.Items.Count, Is.EqualTo(4));

            foreach (UserDto item in stream.Items)
            {
                Assert.That(item.Id, Is.GreaterThan(0));
                Assert.That(item.Fullname, Is.Not.Null);
            }

            Assert.That(stream.Items.Any(x => x.IsOnline));
            Assert.That(stream.Items.Any(x => !x.IsOnline));
        }
Пример #2
0
        public void TrowsGivenPartialSelectionIsEmpty()
        {
            var stream = new DummyResultStream <UserEntity, UserDto>();

            IPartialSelection <UserEntity, UserDto> selection = new PartialSelection <UserEntity, UserDto>(x => null);

            Assert
            .That
            (
                () => Query <UserEntity>()
                .Streamed()
                .Select(stream, selection),
                Throws.ArgumentException
            );
        }
        public void BuildSelectExpandNode_ThrowsODataException_IfUnknownSelectionItemPresent()
        {
            Selection selection = new PartialSelection(new[] { new Mock<SelectionItem>().Object });
            SelectExpandClause selectExpandClause = new SelectExpandClause(selection, _emptyExpansion);
            IEdmEntityTypeReference entityType = new EdmEntityTypeReference(_model.Customer, false);

            Assert.Throws<ODataException>(
                () => SelectExpandNode.BuildSelectExpandNode(selectExpandClause, entityType, _model.Model),
                "$select does not support selections of type 'SelectionItemProxy'.");
        }