public void TryBindTypeCastSegmentForSingletonWorks(string identifier, bool caseInsensitive) { IList <PathSegment> path = new List <PathSegment> { new SingletonSegment(_customMe) }; bool result = PathParser.TryBindTypeCastSegment(identifier, null, _edmModel, path, new PathParserSettings { EnableCaseInsensitive = caseInsensitive }); Assert.True(result); Assert.Equal(2, path.Count); var typeSegment = Assert.IsType <TypeSegment>(path[1]); Assert.Equal("NS.VipCustomer", typeSegment.Identifier); Assert.True(typeSegment.IsSingle); }
public void TryBindTypeCastSegmentForTypeCastAfterEntitySetWithKeyWorks() { IList <PathSegment> path = new List <PathSegment> { new EntitySetSegment(_customers) }; bool result = PathParser.TryBindTypeCastSegment("NS.VipCustomer", "(FirstName={a},LastName={b})", _edmModel, path, PathParserSettings.Default); Assert.True(result); Assert.Equal(3, path.Count); var typeSegment = Assert.IsType <TypeSegment>(path[1]); Assert.Equal("Collection(NS.VipCustomer)", typeSegment.Identifier); Assert.False(typeSegment.IsSingle); var keySegment = Assert.IsType <KeySegment>(path[2]); Assert.Equal("FirstName={a},LastName={b}", keySegment.Identifier); Assert.Equal(new[] { "FirstName", "LastName" }, keySegment.Values.Keys); Assert.Equal(new[] { "{a}", "{b}" }, keySegment.Values.Values); }