private static void CheckExplicitTypeAndAssert <T>(DynamicNullableValueObject dynamicNullableValueObject) { // Act var converted = (T)(dynamic)dynamicNullableValueObject; // Assert Assert.That(converted, Is.EqualTo(default(T))); }
public void CanExplicitlyConvertToDecimal() { // Arrange dynamic nullHelper = new DynamicNullableValueObject(); // Act & Assert CheckExplicitTypeAndAssert <decimal>(nullHelper); }
public void CanExplicitlyConvertToNullableInteger() { // Arrange dynamic nullHelper = new DynamicNullableValueObject(); // Act & Assert CheckExplicitNonNullableTypeAndAssert <int>(nullHelper); }
private static void CheckExplicitNonNullableTypeAndAssert <T>(DynamicNullableValueObject dynamicNullableValueObject) where T : struct { // Act var converted = (T?)(dynamic)dynamicNullableValueObject; // Assert Assert.That(converted.HasValue, Is.EqualTo(false)); }
public void CanExplicitlyConvertToEmptyString() { // Arrange dynamic nullHelper = new DynamicNullableValueObject(); // Act string converted = nullHelper; // Assert Assert.That(converted, Is.EqualTo(string.Empty)); }
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); } }