public async Task GivenValues_WhenBindingModel_ThenSplitByComma(string input, params string[] expected) { ModelBindingContext context = Substitute.For <ModelBindingContext>(); context.ModelName = "Example"; context.ValueProvider.GetValue(context.ModelName).Returns(new ValueProviderResult(new StringValues(input))); IModelBinder binder = new AggregateCsvModelBinder(); await binder.BindModelAsync(context); Assert.True(context.Result.IsModelSet); Assert.True((context.Result.Model as IEnumerable <string>).SequenceEqual(expected)); }
public async Task GivenNoValues_WhenBindingModel_ThenReturnNoValue() { ModelBindingContext context = Substitute.For <ModelBindingContext>(); context.ModelName = "Example"; context.ValueProvider.GetValue(context.ModelName).Returns(new ValueProviderResult(new StringValues())); IModelBinder binder = new AggregateCsvModelBinder(); await binder.BindModelAsync(context); Assert.True(context.Result.IsModelSet); Assert.Empty(context.Result.Model as IEnumerable <string>); }