示例#1
0
 private void ShouldThrowArgumentNullException()
 {
     Assert.Throws <ArgumentNullException>(() =>
     {
         var _ = new OptionMetaProvider(null);
     });
 }
示例#2
0
 private void ShouldThrowArgumentNullExceptionWhenGettingMetadata(
     OptionMetaProvider sut)
 {
     Assert.Throws <ArgumentNullException>(() =>
     {
         var _ = sut.GetMetadata(null)
                 .ToArray();
     });
 }
示例#3
0
 private void ShouldCreateInstance(IEnumOptionsExtractor enumOptionsExtractor)
 {
     try
     {
         var _ = new OptionMetaProvider(enumOptionsExtractor);
     }
     catch
     {
         Assert.True(false, "Exception was thrown when none was expected!");
     }
 }
示例#4
0
        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);
        }
示例#5
0
        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);
        }
示例#6
0
        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);
        }