Exemple #1
0
        public void StaticMembersAccessorsCanBeUsedForReferenceTypes(string input, Type targetType)
        {
            var actual = SettingValueConversions.ConvertToType(input, targetType);

            Assert.IsAssignableFrom(targetType, actual);
            Assert.Equal(ConcreteImpl.Instance, actual);
        }
Exemple #2
0
        public void StringValuesThrowsWhenMissingDefaultConstructorIfTargetIsAbstractClass()
        {
            var value = "Serilog.Tests.Support.DummyConcreteClassWithoutDefaultConstructor, Serilog.Tests";

            Assert.Throws <InvalidOperationException>(() =>
                                                      SettingValueConversions.ConvertToType(value, typeof(DummyAbstractClass)));
        }
Exemple #3
0
        public void ValuesConvertToTypeFromAssemblyQualifiedName()
        {
            var assemblyQualifiedName = typeof(Version).AssemblyQualifiedName;
            var result = (Type)SettingValueConversions.ConvertToType(assemblyQualifiedName, typeof(Type));

            Assert.Equal(typeof(Version), result);
        }
        public void ValuesConvertToIntArray()
        {
            var result = (int[])SettingValueConversions.ConvertToType("1,2", typeof(int[]));

            Assert.Equal(2, result.Length);
            Assert.Equal(1, result[0]);
            Assert.Equal(2, result[1]);
        }
Exemple #5
0
        [InlineData("0:0:0.2", 0, 0, 0, 0, 200)] // minimal milliseconds
        public void TimeSpanValuesCanBeParsed(string input, int expDays, int expHours, int expMin, int expSec, int expMs)
        {
            var expectedTimeSpan = new TimeSpan(expDays, expHours, expMin, expSec, expMs);
            var actual           = SettingValueConversions.ConvertToType(input, typeof(TimeSpan));

            Assert.IsType <TimeSpan>(actual);
            Assert.Equal(expectedTimeSpan, actual);
        }
        public void ValuesConvertToStringArray()
        {
            var result = (string[])SettingValueConversions.ConvertToType("key1=value1,key2=value2", typeof(string[]));

            Assert.Equal(2, result.Length);
            Assert.Equal("key1=value1", result[0]);
            Assert.Equal("key2=value2", result[1]);
        }
Exemple #7
0
        public void StaticAccessorWithInvalidMemberThrowsInvalidOperationException(string input, Type targetType)
        {
            var exception = Assert.Throws <InvalidOperationException>(() =>
                                                                      SettingValueConversions.ConvertToType(input, targetType)
                                                                      );

            Assert.Contains("Could not find a public static property or field ", exception.Message);
            Assert.Contains("on type `Serilog.Tests.Support.ClassWithStaticAccessors, Serilog.Tests`", exception.Message);
        }
Exemple #8
0
 public void StaticAccessorOnUnknownTypeThrowsTypeLoadException(string input, Type targetType)
 {
     Assert.Throws <TypeLoadException>(() =>
                                       SettingValueConversions.ConvertToType(input, targetType)
                                       );
 }
        public void ValuesConvertToIntArrayEmpty()
        {
            var result = (int[])SettingValueConversions.ConvertToType("", typeof(int[]));

            Assert.Empty(result);
        }
Exemple #10
0
        public void StringValuesConvertToDefaultInstancesIfTargetIsAbstractClass()
        {
            var result = SettingValueConversions.ConvertToType("Serilog.Tests.Support.DummyConcreteClassWithDefaultConstructor, Serilog.Tests", typeof(DummyAbstractClass));

            Assert.IsType <DummyConcreteClassWithDefaultConstructor>(result);
        }
Exemple #11
0
        public void StringValuesConvertToDefaultInstancesIfTargetIsInterface()
        {
            var result = SettingValueConversions.ConvertToType("Serilog.Formatting.Json.JsonFormatter", typeof(ITextFormatter));

            Assert.IsType <JsonFormatter>(result);
        }
Exemple #12
0
        public void ValuesConvertToEnumMembers()
        {
            var result = (LogEventLevel)SettingValueConversions.ConvertToType("Information", typeof(LogEventLevel));

            Assert.Equal(LogEventLevel.Information, result);
        }
Exemple #13
0
        public void ValuesConvertToNullableTimeSpan()
        {
            var result = (TimeSpan?)SettingValueConversions.ConvertToType("00:01:00", typeof(TimeSpan?));

            Assert.Equal(TimeSpan.FromMinutes(1), result);
        }
Exemple #14
0
        public void EmptyStringValuesConvertToNullIfTargetIsNullable()
        {
            var result = (int?)SettingValueConversions.ConvertToType("", typeof(int?));

            Assert.True(result == null);
        }
        public void ValuesConvertToStringArrayEmpty()
        {
            var result = (string[])SettingValueConversions.ConvertToType("", typeof(string[]));

            Assert.Empty(result);
        }
Exemple #16
0
        public void ValuesConvertToTypeFromQualifiedName()
        {
            var result = (Type)SettingValueConversions.ConvertToType("System.Version", typeof(Type));

            Assert.Equal(typeof(Version), result);
        }
Exemple #17
0
        public void ConvertibleValuesConvertToTIfTargetIsNullable()
        {
            var result = (int?)SettingValueConversions.ConvertToType("3", typeof(int?));

            Assert.True(result == 3);
        }