コード例 #1
0
    public void Create_WhenBindingSourceIsFromHeader_NoInnerBinderAvailable_ReturnsNull()
    {
        // Arrange
        var provider = new HeaderModelBinderProvider();
        var context  = GetTestModelBinderProviderContext(typeof(string));

        context.OnCreatingBinder(modelMetadata => null);
        context.BindingInfo.BindingSource = BindingSource.Header;

        // Act
        var result = provider.GetBinder(context);

        // Assert
        Assert.Null(result);
    }
コード例 #2
0
    public void Create_WhenBindingSourceIsNotFromHeader_ReturnsNull(BindingSource source)
    {
        // Arrange
        var provider   = new HeaderModelBinderProvider();
        var testBinder = Mock.Of <IModelBinder>();
        var context    = GetTestModelBinderProviderContext(typeof(string));

        context.OnCreatingBinder(modelMetadata => testBinder);
        context.BindingInfo.BindingSource = source;

        // Act
        var result = provider.GetBinder(context);

        // Assert
        Assert.Null(result);
    }
コード例 #3
0
    public void Create_WhenBindingSourceIsFromHeader_ReturnsNull_ForNonSimpleModelType(Type modelType)
    {
        // Arrange
        var provider   = new HeaderModelBinderProvider();
        var testBinder = Mock.Of <IModelBinder>();
        var context    = GetTestModelBinderProviderContext(modelType);

        context.OnCreatingBinder(modelMetadata => testBinder);
        context.BindingInfo.BindingSource = BindingSource.Header;

        // Act
        var result = provider.GetBinder(context);

        // Assert
        Assert.Null(result);
    }
コード例 #4
0
    public void Create_WhenBindingSourceIsFromHeader_ReturnsBinder_ForNullableSimpleTypes(Type modelType)
    {
        // Arrange
        var provider   = new HeaderModelBinderProvider();
        var testBinder = Mock.Of <IModelBinder>();
        var context    = GetTestModelBinderProviderContext(modelType);

        context.OnCreatingBinder(modelMetadata => testBinder);
        context.BindingInfo.BindingSource = BindingSource.Header;

        // Act
        var result = provider.GetBinder(context);

        // Assert
        var headerModelBinder = Assert.IsType <HeaderModelBinder>(result);

        Assert.Same(testBinder, headerModelBinder.InnerModelBinder);
    }