예제 #1
0
        private static void CheckExplicitTypeAndAssert <T>(DynamicNullableValueObject dynamicNullableValueObject)
        {
            // Act
            var converted = (T)(dynamic)dynamicNullableValueObject;

            // Assert
            Assert.That(converted, Is.EqualTo(default(T)));
        }
예제 #2
0
        public void CanExplicitlyConvertToDecimal()
        {
            // Arrange
            dynamic nullHelper = new DynamicNullableValueObject();

            // Act & Assert
            CheckExplicitTypeAndAssert <decimal>(nullHelper);
        }
예제 #3
0
        public void CanExplicitlyConvertToNullableInteger()
        {
            // Arrange
            dynamic nullHelper = new DynamicNullableValueObject();

            // Act & Assert
            CheckExplicitNonNullableTypeAndAssert <int>(nullHelper);
        }
예제 #4
0
        private static void CheckExplicitNonNullableTypeAndAssert <T>(DynamicNullableValueObject dynamicNullableValueObject)
            where T : struct
        {
            // Act
            var converted = (T?)(dynamic)dynamicNullableValueObject;

            // Assert
            Assert.That(converted.HasValue, Is.EqualTo(false));
        }
예제 #5
0
        public void CanExplicitlyConvertToEmptyString()
        {
            // Arrange
            dynamic nullHelper = new DynamicNullableValueObject();

            // Act
            string converted = nullHelper;

            // Assert
            Assert.That(converted, Is.EqualTo(string.Empty));
        }
예제 #6
0
        public void CanConvertToAnyValueType()
        {
            // Arrange
            dynamic nullHelper = new DynamicNullableValueObject();
            var     valueTypes = TypeFinder.GetAllAssemblies()
                                 .SelectMany(x => x.GetTypes().Where(type => type.IsPrimitive && !type.IsEnum))
                                 .Distinct();

            // Act & Assert
            foreach (var valueType in valueTypes)
            {
                CheckConvertTypeAndAssert(valueType, nullHelper);
            }
        }