public void GetEdmType_ThrowsArgumentNull_ForInputParameters() { // Arrange & Act & Assert IODataTypeMapper mapper = null; ExceptionAssert.ThrowsArgumentNull(() => mapper.GetEdmType(null, null), "mapper"); }
/// <summary> /// Gets the corresponding Edm type <see cref="IEdmType"/> for the given CLR type <see cref="Type"/>. /// </summary> /// <param name="mapper">The type mapper.</param> /// <param name="edmModel">The given Edm model.</param> /// <param name="clrType">The given CLR type.</param> /// <returns>Null or the corresponding Edm type.</returns> public static IEdmType GetEdmType(this IODataTypeMapper mapper, IEdmModel edmModel, Type clrType) { if (mapper == null) { throw Error.ArgumentNull(nameof(mapper)); } return(mapper.GetEdmTypeReference(edmModel, clrType)?.Definition); }
public void GetClrType_ThrowsArgumentNull_ForInputParameters() { // Arrange & Act & Assert IODataTypeMapper mapper = null; ExceptionAssert.ThrowsArgumentNull(() => mapper.GetClrType(null, null), "mapper"); // Arrange & Act & Assert mapper = new Mock <IODataTypeMapper>().Object; ExceptionAssert.ThrowsArgumentNull(() => mapper.GetClrType(null, null), "edmType"); }
public void GetAndSetTypeMapper_RoundTrip() { // Arrange IODataTypeMapper mapper = new Mock <IODataTypeMapper>().Object; IEdmModel model = new EdmModel(); // Act model.SetTypeMapper(mapper); IODataTypeMapper actual = model.GetTypeMapper(); // Assert Assert.Same(mapper, actual); }
/// <summary> /// Gets the corresponding <see cref="Type"/> for a given Edm type <see cref="IEdmTypeReference"/>. /// </summary> /// <param name="mapper">The type mapper.</param> /// <param name="edmModel">The Edm model.</param> /// <param name="edmType">The Edm type.</param> /// <param name="assembliesResolver">The assembly resolver.</param> /// <returns>Null or the CLR type.</returns> public static Type GetClrType(this IODataTypeMapper mapper, IEdmModel edmModel, IEdmTypeReference edmType, IAssemblyResolver assembliesResolver) { if (mapper == null) { throw Error.ArgumentNull(nameof(mapper)); } if (edmType == null) { throw Error.ArgumentNull(nameof(edmType)); } return(mapper.GetClrType(edmModel, edmType.Definition, edmType.IsNullable, assembliesResolver)); }
/// <summary> /// Gets the corresponding <see cref="Type"/> for a given Edm primitive type <see cref="IEdmPrimitiveTypeReference"/>. /// </summary> /// <param name="mapper">The type mapper.</param> /// <param name="primitiveType">The Edm primitive type reference.</param> /// <returns>Null or the CLR type.</returns> public static Type GetPrimitiveType(this IODataTypeMapper mapper, IEdmPrimitiveTypeReference primitiveType) { if (mapper == null) { throw Error.ArgumentNull(nameof(mapper)); } if (primitiveType == null) { throw Error.ArgumentNull(nameof(primitiveType)); } return(mapper.GetClrPrimitiveType(primitiveType.PrimitiveDefinition(), primitiveType.IsNullable)); }
/// <summary> /// Sets the OData type mapping provider to the model. /// </summary> /// <param name="model">The Edm model.</param> /// <param name="mapper">The given mapper.</param> public static void SetTypeMapper(this IEdmModel model, IODataTypeMapper mapper) { if (model == null) { throw Error.ArgumentNull(nameof(model)); } if (mapper == null) { throw Error.ArgumentNull(nameof(mapper)); } model.SetAnnotationValue(model, mapper); }
/// <summary> /// Gets the OData type mapping provider from the model. /// </summary> /// <param name="model">The Edm model.</param> /// <returns>The <see cref="IODataTypeMapper"/>.</returns> public static IODataTypeMapper GetTypeMapper(this IEdmModel model) { // use the default one if no model or no mapper registered. if (model == null) { return(DefaultODataTypeMapper.Default); } IODataTypeMapper provider = model.GetAnnotationValue <IODataTypeMapper>(model); if (provider == null) { return(DefaultODataTypeMapper.Default); } return(provider); }
/// <summary> /// Gets the corresponding <see cref="Type"/> for a given Edm type <see cref="IEdmTypeReference"/>. /// </summary> /// <param name="mapper">The type mapper.</param> /// <param name="edmModel">The Edm model.</param> /// <param name="edmType">The Edm type reference.</param> /// <returns>Null or the CLR type.</returns> public static Type GetClrType(this IODataTypeMapper mapper, IEdmModel edmModel, IEdmTypeReference edmType) { return(mapper.GetClrType(edmModel, edmType, AssemblyResolverHelper.Default)); }