public void KindPropertyReturnsCountRestrictionEnumMember() { // Arrange & Act CountRestrictions count = new CountRestrictions(); // Assert Assert.Equal(CapabilitesTermKind.CountRestrictions, count.Kind); }
public void UnknownAnnotatableTargetReturnsDefaultPropertyValues() { // Arrange & Act CountRestrictions count = new CountRestrictions(); EdmEntityType entityType = new EdmEntityType("NS", "Entity"); // Act bool result = count.Load(EdmCoreModel.Instance, entityType); // Assert Assert.False(result); Assert.True(count.IsCountable); Assert.Null(count.Countable); Assert.Null(count.NonCountableProperties); Assert.Null(count.NonCountableNavigationProperties); }
/// <summary> /// Create the $count parameter. /// </summary> /// <param name="context">The OData context.</param> /// <param name="target">The Edm annotation target.</param> /// <returns>The created <see cref="OpenApiParameter"/> or null.</returns> public static OpenApiParameter CreateCount(this ODataContext context, IEdmVocabularyAnnotatable target) { Utils.CheckArgumentNull(context, nameof(context)); Utils.CheckArgumentNull(target, nameof(target)); CountRestrictions count = context.Model.GetCountRestrictions(target); if (count == null || count.IsCountable) { return(new OpenApiParameter { Reference = new OpenApiReference { Type = ReferenceType.Parameter, Id = "count" } }); } return(null); }
private static void VerifyCountRestrictions(CountRestrictions count) { Assert.NotNull(count); Assert.NotNull(count.Countable); Assert.False(count.Countable.Value); Assert.False(count.IsCountable); Assert.NotNull(count.NonCountableProperties); Assert.Equal(2, count.NonCountableProperties.Count); Assert.Equal("Emails|mij", String.Join("|", count.NonCountableProperties)); Assert.NotNull(count.NonCountableNavigationProperties); Assert.Equal(2, count.NonCountableNavigationProperties.Count); Assert.Equal("RelatedEvents,abc", String.Join(",", count.NonCountableNavigationProperties)); Assert.False(count.IsNonCountableProperty("id")); Assert.True(count.IsNonCountableProperty("Emails")); Assert.True(count.IsNonCountableNavigationProperty("RelatedEvents")); }
public void TargetOnEntitySetReturnsCorrectCountRestrictionsValue(EdmVocabularyAnnotationSerializationLocation location) { // Arrange const string template = @" <Annotations Target=""NS.Default/Calendars""> {0} </Annotations>"; IEdmModel model = GetEdmModel(template, location); Assert.NotNull(model); // guard IEdmEntitySet calendars = model.EntityContainer.FindEntitySet("Calendars"); Assert.NotNull(calendars); // guard // Act CountRestrictions count = new CountRestrictions(); bool result = count.Load(model, calendars); // Assert Assert.True(result); VerifyCountRestrictions(count); }