예제 #1
0
        public void CreateFirstSegmentForEntitySetDisableCaseInsensitiveThrows()
        {
            IList <PathSegment> path = new List <PathSegment>();
            Action test = () => PathParser.CreateFirstSegment("UsErs", _edmModel, path, new PathParserSettings {
                EnableCaseInsensitive = false
            });
            var exception = Assert.Throws <Exception>(test);

            Assert.Equal($"Unknown kind of first segment: 'UsErs'", exception.Message);
        }
예제 #2
0
        public void CreateFirstSegmentForSingletonWithParenthesisThrows()
        {
            IList <PathSegment> path = new List <PathSegment>();
            Action test = () => PathParser.CreateFirstSegment("me({id})", _edmModel, path, new PathParserSettings {
                EnableCaseInsensitive = false
            });
            var exception = Assert.Throws <Exception>(test);

            Assert.Equal("Unknown parenthesis '({id})' after a singleton 'me'.", exception.Message);
        }
예제 #3
0
        public void CreateFirstSegmentForSingletonWorks(string identifier, bool enableCaseInsensitive)
        {
            IList <PathSegment> path = new List <PathSegment>();

            PathParser.CreateFirstSegment(identifier, _edmModel, path, new PathParserSettings {
                EnableCaseInsensitive = enableCaseInsensitive
            });
            Assert.NotEmpty(path);
            var pathSegment      = Assert.Single(path);
            var singletonSegment = Assert.IsType <SingletonSegment>(pathSegment);

            Assert.Same(singletonSegment.Singleton, _me);
        }
예제 #4
0
        public void CreateFirstSegmentForEntitySetWithKeyWorks()
        {
            IList <PathSegment> path = new List <PathSegment>();

            PathParser.CreateFirstSegment("users({id | userPrincipalName})", _edmModel, path, PathParserSettings.Default);
            Assert.NotEmpty(path);
            Assert.Equal(2, path.Count);
            var entitySetSegment = Assert.IsType <EntitySetSegment>(path[0]);

            Assert.Same(entitySetSegment.EntitySet, _users);
            var keySegment = Assert.IsType <KeySegment>(path[1]);

            Assert.Equal("{id | userPrincipalName}", keySegment.Identifier);
            var value = Assert.Single(keySegment.Values);

            Assert.Equal(String.Empty, value.Key);
            Assert.Equal("{id | userPrincipalName}", value.Value);
        }
예제 #5
0
        public void CreateNextSegmentForEntitySetWithKeyWorks()
        {
            IList <PathSegment> path = new List <PathSegment>();

            PathParser.CreateFirstSegment("users", _edmModel, path, PathParserSettings.Default);

            Assert.NotEmpty(path);
            var pathSegment = Assert.Single(path);

            var entitySetSegment = Assert.IsType <EntitySetSegment>(pathSegment);

            Assert.Same(entitySetSegment.EntitySet, _users);

            PathParser.CreateNextSegment("{id | userPrincipalName}", _edmModel, path, PathParserSettings.Default);

            Assert.Equal(2, path.Count);

            var keySegment = Assert.IsType <KeySegment>(path[1]);
        }