public void CanBuildModelDefinition_ThatCanReturnOptions() { var optionProvider = new OptionProvider(); var expected = optionProvider.Get().ToList(); target.PropertyWithOptions(x => x.OptionProperty, (OptionProvider provider) => provider.Get(), option => option.IntKey, option => option.DisplayValue); var result = GetPropertyWithOption(target.Build()).BuildOptionSet(mockServiceProvider.Object); var options = result.OptionSelections.ToList(); Assert.Equal(expected.Count, options.Count); Assert.Equal(expected.Single(s => s.IntKey == 2).DisplayValue, options.Single(s => s.Key == 2.ToString()).DisplayValue); }
public void CanBuildModelDefinition_ThatCanReturnOptionByKey_IfExists() { var optionProvider = new OptionProvider(); var expected = optionProvider.Get().ToList(); target.PropertyWithOptions(x => x.OptionProperty, (OptionProvider provider) => provider.Get(), opt => opt.IntKey, opt => opt.DisplayValue); var result = GetPropertyWithOption(target.Build()).BuildOptionSet(mockServiceProvider.Object); object output; var option = result.TryGetValue(2.ToString(), out output); Assert.True(option); var outputAsOption = output as OptionTestClass; Assert.NotNull(outputAsOption); Assert.Equal(expected.Single(s => s.IntKey == 2).DisplayValue, outputAsOption.DisplayValue); }