private void ShouldThrowArgumentNullException() { Assert.Throws <ArgumentNullException>(() => { var _ = new OptionMetaProvider(null); }); }
private void ShouldThrowArgumentNullExceptionWhenGettingMetadata( OptionMetaProvider sut) { Assert.Throws <ArgumentNullException>(() => { var _ = sut.GetMetadata(null) .ToArray(); }); }
private void ShouldCreateInstance(IEnumOptionsExtractor enumOptionsExtractor) { try { var _ = new OptionMetaProvider(enumOptionsExtractor); } catch { Assert.True(false, "Exception was thrown when none was expected!"); } }
private void ShouldGetOptionsFromEnumOptionsExtractor( [Frozen] Mock <IEnumOptionsExtractor> enumOptionsExtractor, FieldGenerationContext fieldGenerationContext, OptionMetaProvider sut) { var _ = sut.GetMetadata(fieldGenerationContext).ToArray(); FieldOption[] options; enumOptionsExtractor .Verify(e => e.TryGetEnumOptions( fieldGenerationContext.FieldDescriptor.PropertyType, out options ), Times.Once); }
private void ShouldReturnEmptyMetadata( [Frozen] Mock <IEnumOptionsExtractor> enumOptionsExtractor, FieldGenerationContext fieldGenerationContext, OptionMetaProvider sut) { FieldOption[] options; enumOptionsExtractor .Setup(e => e.TryGetEnumOptions( fieldGenerationContext.FieldDescriptor.PropertyType, out options )) .Returns(false); var metadata = sut.GetMetadata(fieldGenerationContext).ToArray(); Assert.Empty(metadata); }
private void ShouldReturnMetadata( [Frozen] Mock <IEnumOptionsExtractor> enumOptionsExtractor, FieldGenerationContext fieldGenerationContext, #pragma warning disable xUnit1026 // Theory methods should use all of their parameters FieldOption[] expectedFieldOptions, #pragma warning restore xUnit1026 // Theory methods should use all of their parameters OptionMetaProvider sut) { enumOptionsExtractor .Setup(e => e.TryGetEnumOptions( fieldGenerationContext.FieldDescriptor.PropertyType, out expectedFieldOptions )) .Returns(true); var metadata = sut.GetMetadata(fieldGenerationContext).ToArray(); Assert.Equal(new KeyValuePair <string, object>("type", "option"), metadata[0]); Assert.Same("options", metadata[1].Key); Assert.Same(expectedFieldOptions, metadata[1].Value); }