public void TryParseLong_FromDoubleAndNullableDouble() { const double invalidValue1 = double.MaxValue; double? nullableInvalidValue1 = double.MaxValue; const double invalidValue2 = double.MinValue; double? nullableInvalidValue2 = double.MinValue; #region double - full method var success = ConvertibleDoubleValue.TryParseLong(DefaultValue); var invalid1 = invalidValue1.TryParseLong(DefaultValue); var invalid2 = invalidValue2.TryParseLong(DefaultValue); Assert.AreEqual(success, ConvertibleLongValue, "Error converting double to long"); Assert.AreEqual(invalid1, DefaultValue, "Error converting double to long"); Assert.AreEqual(invalid2, DefaultValue, "Error converting double to long"); #endregion #region double - without DefaultValue param success = ConvertibleDoubleValue.TryParseLong(); invalid1 = invalidValue1.TryParseLong(); invalid2 = invalidValue2.TryParseLong(); Assert.AreEqual(success, ConvertibleLongValue, "Error converting double to long"); Assert.AreEqual(invalid1, BasePrimitivesExtensions.GetDefaultLongConversionValue(), "Error converting double to long"); Assert.AreEqual(invalid2, BasePrimitivesExtensions.GetDefaultLongConversionValue(), "Error converting double to long"); #endregion #region double? - full method success = ConvertibleNullableDoubleValue.TryParseLong(DefaultValue); invalid1 = nullableInvalidValue1.TryParseLong(DefaultValue); invalid2 = nullableInvalidValue2.TryParseLong(DefaultValue); Assert.AreEqual(success, ConvertibleLongValue, "Error converting double? to long"); Assert.AreEqual(invalid1, DefaultValue, "Error converting double? to long"); Assert.AreEqual(invalid2, DefaultValue, "Error converting double? to long"); #endregion #region double? - without DefaultValue param success = ConvertibleNullableDoubleValue.TryParseLong(); invalid1 = nullableInvalidValue1.TryParseLong(); invalid2 = nullableInvalidValue2.TryParseLong(); Assert.AreEqual(success, ConvertibleLongValue, "Error converting double? to long"); Assert.AreEqual(invalid1, BasePrimitivesExtensions.GetDefaultLongConversionValue(), "Error converting double? to long"); Assert.AreEqual(invalid2, BasePrimitivesExtensions.GetDefaultLongConversionValue(), "Error converting double? to long"); #endregion }