Esempio n. 1
0
        public void TryParseFloatArray()
        {
            const string successValue1 = "10";
            const string successValue2 = "20";
            var          errorValue1   = double.MaxValue.ToString(CultureInfo.InvariantCulture);
            var          errorValue2   = double.MinValue.ToString(CultureInfo.InvariantCulture);

            var successByteValues = new[] { successValue1.TryParseFloat(), successValue2.TryParseFloat() };
            var successValues     = new[] { successValue1, successValue2 };
            var errorValues       = new[] { errorValue1, errorValue2 };
            var mixedValues       = new[] { successValue1, successValue2, errorValue1, errorValue2 };

            #region full method (with number format), without default, dont return defult conversion
            var successConversion = string.Join(",", successValues).TryParseFloatArray(null, false,
                                                                                       BasePrimitivesExtensions.GetDefaultFloatNumberStyle(),
                                                                                       BasePrimitivesExtensions.GetCurrentCulture());
            Assert.IsNotNull(successConversion, "Error converting string to float array");
            Assert.IsTrue(successConversion.Any(), "Error converting string to float array");
            Assert.IsFalse(successConversion.Any(a => !successByteValues.Contains(a)), "Error converting string to float array");
            Assert.IsTrue(successConversion.Count() == successByteValues.Count(), "Error converting string to float array");

            var falseConversions = string.Join(",", errorValues).TryParseFloatArray(null, false,
                                                                                    BasePrimitivesExtensions.GetDefaultFloatNumberStyle(),
                                                                                    BasePrimitivesExtensions.GetCurrentCulture());
            Assert.IsNotNull(falseConversions, "Error converting string to float array");
            Assert.IsFalse(falseConversions.Any(), "Error converting string to float array");

            var mixedConversions = string.Join(",", mixedValues).TryParseFloatArray(null, false,
                                                                                    BasePrimitivesExtensions.GetDefaultFloatNumberStyle(),
                                                                                    BasePrimitivesExtensions.GetCurrentCulture());
            Assert.IsNotNull(mixedConversions, "Error converting string to float array");
            Assert.IsFalse(mixedConversions.Any(a => !successByteValues.Contains(a)), "Error converting string to float array");
            Assert.IsTrue(mixedConversions.Count() == successByteValues.Count(), "Error converting string to float array");
            #endregion

            #region partial method (with number format), without default
            successConversion = string.Join(",", successValues).TryParseFloatArray(null,
                                                                                   BasePrimitivesExtensions.GetDefaultFloatNumberStyle(),
                                                                                   BasePrimitivesExtensions.GetCurrentCulture());
            Assert.IsNotNull(successConversion, "Error converting string to float array");
            Assert.IsTrue(successConversion.Any(), "Error converting string to float array");
            Assert.IsFalse(successConversion.Any(a => !successByteValues.Contains(a)), "Error converting string to float array");
            Assert.IsTrue(successConversion.Count() == successByteValues.Count(), "Error converting string to float array");

            falseConversions = string.Join(",", errorValues).TryParseFloatArray(null,
                                                                                BasePrimitivesExtensions.GetDefaultFloatNumberStyle(),
                                                                                BasePrimitivesExtensions.GetCurrentCulture());
            Assert.IsNotNull(falseConversions, "Error converting string to float array");
            Assert.IsFalse(falseConversions.Any(a => !a.Equals(BasePrimitivesExtensions.GetDefaultFloatConversionValue())), "Error converting string to float array");

            mixedConversions = string.Join(",", mixedValues).TryParseFloatArray(null,
                                                                                BasePrimitivesExtensions.GetDefaultFloatNumberStyle(),
                                                                                BasePrimitivesExtensions.GetCurrentCulture());
            Assert.IsNotNull(mixedConversions, "Error converting string to float array");
            Assert.IsFalse(mixedConversions.Any(a => !successByteValues.Contains(a) && !a.Equals(BasePrimitivesExtensions.GetDefaultFloatConversionValue())), "Error converting string to float array");
            Assert.IsTrue((mixedConversions.Count() - falseConversions.Count()) == successByteValues.Count(), "Error converting string to float array");
            #endregion

            #region simple method (with number format)
            successConversion = string.Join(",", successValues).TryParseFloatArray(
                BasePrimitivesExtensions.GetDefaultFloatNumberStyle(),
                BasePrimitivesExtensions.GetCurrentCulture());
            Assert.IsNotNull(successConversion, "Error converting string to float array");
            Assert.IsTrue(successConversion.Any(), "Error converting string to float array");
            Assert.IsFalse(successConversion.Any(a => !successByteValues.Contains(a)), "Error converting string to float array");
            Assert.IsTrue(successConversion.Count() == successByteValues.Count(), "Error converting string to float array");

            falseConversions = string.Join(",", errorValues).TryParseFloatArray(
                BasePrimitivesExtensions.GetDefaultFloatNumberStyle(),
                BasePrimitivesExtensions.GetCurrentCulture());
            Assert.IsNotNull(falseConversions, "Error converting string to float array");
            Assert.IsFalse(falseConversions.Any(a => !a.Equals(BasePrimitivesExtensions.GetDefaultFloatConversionValue())), "Error converting string to float array");

            mixedConversions = string.Join(",", mixedValues).TryParseFloatArray(
                BasePrimitivesExtensions.GetDefaultFloatNumberStyle(),
                BasePrimitivesExtensions.GetCurrentCulture());
            Assert.IsNotNull(mixedConversions, "Error converting string to float array");
            Assert.IsFalse(mixedConversions.Any(a => !successByteValues.Contains(a) && !a.Equals(BasePrimitivesExtensions.GetDefaultFloatConversionValue())), "Error converting string to float array");
            Assert.IsTrue((mixedConversions.Count() - falseConversions.Count()) == successByteValues.Count(), "Error converting string to float array");
            #endregion

            #region full method (without number format), without default, dont return defult conversion
            successConversion = string.Join(",", successValues).TryParseFloatArray(null, false);
            Assert.IsNotNull(successConversion, "Error converting string to float array");
            Assert.IsTrue(successConversion.Any(), "Error converting string to float array");
            Assert.IsFalse(successConversion.Any(a => !successByteValues.Contains(a)), "Error converting string to float array");
            Assert.IsTrue(successConversion.Count() == successByteValues.Count(), "Error converting string to float array");

            falseConversions = string.Join(",", errorValues).TryParseFloatArray(null, false);
            Assert.IsNotNull(falseConversions, "Error converting string to float array");
            Assert.IsFalse(falseConversions.Any(a => !a.Equals(BasePrimitivesExtensions.GetDefaultFloatConversionValue())), "Error converting string to float array");

            mixedConversions = string.Join(",", mixedValues).TryParseFloatArray(null, false);
            Assert.IsNotNull(mixedConversions, "Error converting string to float array");
            Assert.IsFalse(mixedConversions.Any(a => !successByteValues.Contains(a) && !a.Equals(BasePrimitivesExtensions.GetDefaultFloatConversionValue())), "Error converting string to float array");
            Assert.IsTrue((mixedConversions.Count() - falseConversions.Count()) == successByteValues.Count(), "Error converting string to float array");
            #endregion

            #region partial method (without number format), without default
            successConversion = string.Join(",", successValues).TryParseFloatArray(null);
            Assert.IsNotNull(successConversion, "Error converting string to float array");
            Assert.IsTrue(successConversion.Any(), "Error converting string to float array");
            Assert.IsFalse(successConversion.Any(a => !successByteValues.Contains(a)), "Error converting string to float array");
            Assert.IsTrue(successConversion.Count() == successByteValues.Count(), "Error converting string to float array");

            falseConversions = string.Join(",", errorValues).TryParseFloatArray(null);
            Assert.IsNotNull(falseConversions, "Error converting string to float array");
            Assert.IsFalse(falseConversions.Any(a => !a.Equals(BasePrimitivesExtensions.GetDefaultFloatConversionValue())), "Error converting string to float array");

            mixedConversions = string.Join(",", mixedValues).TryParseFloatArray(null);
            Assert.IsNotNull(mixedConversions, "Error converting string to float array");
            Assert.IsFalse(mixedConversions.Any(a => !successByteValues.Contains(a) && !a.Equals(BasePrimitivesExtensions.GetDefaultFloatConversionValue())), "Error converting string to float array");
            Assert.IsTrue((mixedConversions.Count() - falseConversions.Count()) == successByteValues.Count(), "Error converting string to float array");
            #endregion

            #region simple method (without number format)
            successConversion = string.Join(",", successValues).TryParseFloatArray();
            Assert.IsNotNull(successConversion, "Error converting string to float array");
            Assert.IsTrue(successConversion.Any(), "Error converting string to float array");
            Assert.IsFalse(successConversion.Any(a => !successByteValues.Contains(a)), "Error converting string to float array");
            Assert.IsTrue(successConversion.Count() == successByteValues.Count(), "Error converting string to float array");

            falseConversions = string.Join(",", errorValues).TryParseFloatArray();
            Assert.IsNotNull(falseConversions, "Error converting string to float array");
            Assert.IsFalse(falseConversions.Any(a => !a.Equals(BasePrimitivesExtensions.GetDefaultFloatConversionValue())), "Error converting string to float array");

            mixedConversions = string.Join(",", mixedValues).TryParseFloatArray();
            Assert.IsNotNull(mixedConversions, "Error converting string to float array");
            Assert.IsFalse(mixedConversions.Any(a => !successByteValues.Contains(a) && !a.Equals(BasePrimitivesExtensions.GetDefaultFloatConversionValue())), "Error converting string to float array");
            Assert.IsTrue((mixedConversions.Count() - falseConversions.Count()) == successByteValues.Count(), "Error converting string to float array");
            #endregion
        }
Esempio n. 2
0
        public void TryParseFloat_FromString()
        {
            var invalidValue1 = double.MaxValue.ToString(CultureInfo.InvariantCulture);
            var invalidValue2 = double.MinValue.ToString(CultureInfo.InvariantCulture);

            #region full method
            var success = ConvertibleStringValue.TryParseFloat(DefaultValue,
                                                               BasePrimitivesExtensions.GetDefaultFloatAllowDefaultConversion(),
                                                               BasePrimitivesExtensions.GetDefaultFloatNumberStyle(),
                                                               BasePrimitivesExtensions.GetCurrentCulture());

            var invalid1 = invalidValue1.TryParseFloat(DefaultValue,
                                                       BasePrimitivesExtensions.GetDefaultFloatAllowDefaultConversion(),
                                                       BasePrimitivesExtensions.GetDefaultFloatNumberStyle(),
                                                       BasePrimitivesExtensions.GetCurrentCulture());

            var invalid2 = invalidValue2.TryParseFloat(DefaultValue,
                                                       BasePrimitivesExtensions.GetDefaultFloatAllowDefaultConversion(),
                                                       BasePrimitivesExtensions.GetDefaultFloatNumberStyle(),
                                                       BasePrimitivesExtensions.GetCurrentCulture());

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

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

            invalid1 = invalidValue1.TryParseFloat(DefaultValue,
                                                   BasePrimitivesExtensions.GetDefaultFloatNumberStyle(),
                                                   BasePrimitivesExtensions.GetCurrentCulture());

            invalid2 = invalidValue2.TryParseFloat(DefaultValue,
                                                   BasePrimitivesExtensions.GetDefaultFloatNumberStyle(),
                                                   BasePrimitivesExtensions.GetCurrentCulture());

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

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

            invalid1 = invalidValue1.TryParseFloat(BasePrimitivesExtensions.GetDefaultFloatNumberStyle(),
                                                   BasePrimitivesExtensions.GetCurrentCulture());

            invalid2 = invalidValue2.TryParseFloat(BasePrimitivesExtensions.GetDefaultFloatNumberStyle(),
                                                   BasePrimitivesExtensions.GetCurrentCulture());

            Assert.AreEqual(success, ConvertibleFloatValue, "Error converting string to float");
            Assert.AreEqual(invalid1, BasePrimitivesExtensions.GetDefaultIntConversionValue(), "Error converting string to float");
            Assert.AreEqual(invalid2, BasePrimitivesExtensions.GetDefaultIntConversionValue(), "Error converting string to float");
            #endregion

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

            invalid1 = invalidValue1.TryParseFloat(DefaultValue,
                                                   BasePrimitivesExtensions.GetDefaultFloatAllowDefaultConversion());

            invalid2 = invalidValue2.TryParseFloat(DefaultValue,
                                                   BasePrimitivesExtensions.GetDefaultFloatAllowDefaultConversion());

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

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

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

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

            Assert.AreEqual(success, ConvertibleFloatValue, "Error converting string to float");
            Assert.AreEqual(invalid1, BasePrimitivesExtensions.GetDefaultIntConversionValue(), "Error converting string to float");
            Assert.AreEqual(invalid2, BasePrimitivesExtensions.GetDefaultIntConversionValue(), "Error converting string to float");
            #endregion
        }