예제 #1
0
        public void TryParseShort_FromString()
        {
            var invalidValue1 = long.MaxValue.ToString(CultureInfo.InvariantCulture);
            var invalidValue2 = long.MinValue.ToString(CultureInfo.InvariantCulture);

            #region full method
            var success = ConvertibleStringValue.TryParseShort(DefaultValue,
                                                               BasePrimitivesExtensions.GetDefaultShortAllowDefaultConversion(),
                                                               BasePrimitivesExtensions.GetDefaultShortNumberStyle(),
                                                               BasePrimitivesExtensions.GetCurrentCulture());

            var invalid1 = invalidValue1.TryParseShort(DefaultValue,
                                                       BasePrimitivesExtensions.GetDefaultShortAllowDefaultConversion(),
                                                       BasePrimitivesExtensions.GetDefaultShortNumberStyle(),
                                                       BasePrimitivesExtensions.GetCurrentCulture());

            var invalid2 = invalidValue2.TryParseShort(DefaultValue,
                                                       BasePrimitivesExtensions.GetDefaultShortAllowDefaultConversion(),
                                                       BasePrimitivesExtensions.GetDefaultShortNumberStyle(),
                                                       BasePrimitivesExtensions.GetCurrentCulture());

            Assert.AreEqual(success, ConvertibleShortValue, "Error converting string to short");
            Assert.AreEqual(invalid1, DefaultValue, "Error converting string to short");
            Assert.AreEqual(invalid2, DefaultValue, "Error converting string to short");
            #endregion

            #region without allowZero param
            success = ConvertibleStringValue.TryParseShort(DefaultValue,
                                                           BasePrimitivesExtensions.GetDefaultShortNumberStyle(),
                                                           BasePrimitivesExtensions.GetCurrentCulture());

            invalid1 = invalidValue1.TryParseShort(DefaultValue,
                                                   BasePrimitivesExtensions.GetDefaultShortNumberStyle(),
                                                   BasePrimitivesExtensions.GetCurrentCulture());

            invalid2 = invalidValue2.TryParseShort(DefaultValue,
                                                   BasePrimitivesExtensions.GetDefaultShortNumberStyle(),
                                                   BasePrimitivesExtensions.GetCurrentCulture());

            Assert.AreEqual(success, ConvertibleShortValue, "Error converting string to short");
            Assert.AreEqual(invalid1, DefaultValue, "Error converting string to short");
            Assert.AreEqual(invalid2, DefaultValue, "Error converting string to short");
            #endregion

            #region without allowZero and DefaultValue params
            success = ConvertibleStringValue.TryParseShort(BasePrimitivesExtensions.GetDefaultShortNumberStyle(),
                                                           BasePrimitivesExtensions.GetCurrentCulture());

            invalid1 = invalidValue1.TryParseShort(BasePrimitivesExtensions.GetDefaultShortNumberStyle(),
                                                   BasePrimitivesExtensions.GetCurrentCulture());

            invalid2 = invalidValue2.TryParseShort(BasePrimitivesExtensions.GetDefaultShortNumberStyle(),
                                                   BasePrimitivesExtensions.GetCurrentCulture());

            Assert.AreEqual(success, ConvertibleShortValue, "Error converting string to short");
            Assert.AreEqual(invalid1, BasePrimitivesExtensions.GetDefaultShortConversionValue(), "Error converting string to short");
            Assert.AreEqual(invalid2, BasePrimitivesExtensions.GetDefaultShortConversionValue(), "Error converting string to short");
            #endregion

            #region without number style and culture params
            success = ConvertibleStringValue.TryParseShort(DefaultValue,
                                                           BasePrimitivesExtensions.GetDefaultShortAllowDefaultConversion());

            invalid1 = invalidValue1.TryParseShort(DefaultValue,
                                                   BasePrimitivesExtensions.GetDefaultShortAllowDefaultConversion());

            invalid2 = invalidValue2.TryParseShort(DefaultValue,
                                                   BasePrimitivesExtensions.GetDefaultShortAllowDefaultConversion());

            Assert.AreEqual(success, ConvertibleShortValue, "Error converting string to short");
            Assert.AreEqual(invalid1, DefaultValue, "Error converting string to short");
            Assert.AreEqual(invalid2, DefaultValue, "Error converting string to short");
            #endregion

            #region without number style, culture and allowZero params
            success  = ConvertibleStringValue.TryParseShort(DefaultValue);
            invalid1 = invalidValue1.TryParseShort(DefaultValue);
            invalid2 = invalidValue2.TryParseShort(DefaultValue);

            Assert.AreEqual(success, ConvertibleShortValue, "Error converting string to short");
            Assert.AreEqual(invalid1, DefaultValue, "Error converting string to short");
            Assert.AreEqual(invalid2, DefaultValue, "Error converting string to short");
            #endregion

            #region simple conversion
            success  = ConvertibleStringValue.TryParseShort();
            invalid1 = invalidValue1.TryParseShort();
            invalid2 = invalidValue2.TryParseShort();

            Assert.AreEqual(success, ConvertibleShortValue, "Error converting string to short");
            Assert.AreEqual(invalid1, BasePrimitivesExtensions.GetDefaultShortConversionValue(), "Error converting string to short");
            Assert.AreEqual(invalid2, BasePrimitivesExtensions.GetDefaultShortConversionValue(), "Error converting string to short");
            #endregion
        }