public void TryParseDoubleArray() { const string successValue1 = "10"; const string successValue2 = "20"; const string errorValue1 = ""; const string errorValue2 = "a"; var successByteValues = new[] { successValue1.TryParseDouble(), successValue2.TryParseDouble() }; 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).TryParseDoubleArray(null, false, BasePrimitivesExtensions.GetDefaultDoubleNumberStyle(), BasePrimitivesExtensions.GetCurrentCulture()); Assert.IsNotNull(successConversion, "Error converting string to double array"); Assert.IsTrue(successConversion.Any(), "Error converting string to double array"); Assert.IsFalse(successConversion.Any(a => !successByteValues.Contains(a)), "Error converting string to double array"); Assert.IsTrue(successConversion.Count() == successByteValues.Count(), "Error converting string to double array"); var falseConversions = string.Join(",", errorValues).TryParseDoubleArray(null, false, BasePrimitivesExtensions.GetDefaultDoubleNumberStyle(), BasePrimitivesExtensions.GetCurrentCulture()); Assert.IsNotNull(falseConversions, "Error converting string to double array"); Assert.IsFalse(falseConversions.Any(), "Error converting string to double array"); var mixedConversions = string.Join(",", mixedValues).TryParseDoubleArray(null, false, BasePrimitivesExtensions.GetDefaultDoubleNumberStyle(), BasePrimitivesExtensions.GetCurrentCulture()); Assert.IsNotNull(mixedConversions, "Error converting string to double array"); Assert.IsFalse(mixedConversions.Any(a => !successByteValues.Contains(a)), "Error converting string to double array"); Assert.IsTrue(mixedConversions.Count() == successByteValues.Count(), "Error converting string to double array"); #endregion #region partial method (with number format), without default successConversion = string.Join(",", successValues).TryParseDoubleArray(null, BasePrimitivesExtensions.GetDefaultDoubleNumberStyle(), BasePrimitivesExtensions.GetCurrentCulture()); Assert.IsNotNull(successConversion, "Error converting string to double array"); Assert.IsTrue(successConversion.Any(), "Error converting string to double array"); Assert.IsFalse(successConversion.Any(a => !successByteValues.Contains(a)), "Error converting string to double array"); Assert.IsTrue(successConversion.Count() == successByteValues.Count(), "Error converting string to double array"); falseConversions = string.Join(",", errorValues).TryParseDoubleArray(null, BasePrimitivesExtensions.GetDefaultDoubleNumberStyle(), BasePrimitivesExtensions.GetCurrentCulture()); Assert.IsNotNull(falseConversions, "Error converting string to double array"); Assert.IsFalse(falseConversions.Any(a => !a.Equals(BasePrimitivesExtensions.GetDefaultDoubleConversionValue())), "Error converting string to double array"); mixedConversions = string.Join(",", mixedValues).TryParseDoubleArray(null, BasePrimitivesExtensions.GetDefaultDoubleNumberStyle(), BasePrimitivesExtensions.GetCurrentCulture()); Assert.IsNotNull(mixedConversions, "Error converting string to double array"); Assert.IsFalse(mixedConversions.Any(a => !successByteValues.Contains(a) && !a.Equals(BasePrimitivesExtensions.GetDefaultDoubleConversionValue())), "Error converting string to double array"); Assert.IsTrue((mixedConversions.Count() - falseConversions.Count()) == successByteValues.Count(), "Error converting string to double array"); #endregion #region simple method (with number format) successConversion = string.Join(",", successValues).TryParseDoubleArray( BasePrimitivesExtensions.GetDefaultDoubleNumberStyle(), BasePrimitivesExtensions.GetCurrentCulture()); Assert.IsNotNull(successConversion, "Error converting string to double array"); Assert.IsTrue(successConversion.Any(), "Error converting string to double array"); Assert.IsFalse(successConversion.Any(a => !successByteValues.Contains(a)), "Error converting string to double array"); Assert.IsTrue(successConversion.Count() == successByteValues.Count(), "Error converting string to double array"); falseConversions = string.Join(",", errorValues).TryParseDoubleArray( BasePrimitivesExtensions.GetDefaultDoubleNumberStyle(), BasePrimitivesExtensions.GetCurrentCulture()); Assert.IsNotNull(falseConversions, "Error converting string to double array"); Assert.IsFalse(falseConversions.Any(a => !a.Equals(BasePrimitivesExtensions.GetDefaultDoubleConversionValue())), "Error converting string to double array"); mixedConversions = string.Join(",", mixedValues).TryParseDoubleArray( BasePrimitivesExtensions.GetDefaultDoubleNumberStyle(), BasePrimitivesExtensions.GetCurrentCulture()); Assert.IsNotNull(mixedConversions, "Error converting string to double array"); Assert.IsFalse(mixedConversions.Any(a => !successByteValues.Contains(a) && !a.Equals(BasePrimitivesExtensions.GetDefaultDoubleConversionValue())), "Error converting string to double array"); Assert.IsTrue((mixedConversions.Count() - falseConversions.Count()) == successByteValues.Count(), "Error converting string to double array"); #endregion #region full method (without number format), without default, dont return defult conversion successConversion = string.Join(",", successValues).TryParseDoubleArray(null, false); Assert.IsNotNull(successConversion, "Error converting string to double array"); Assert.IsTrue(successConversion.Any(), "Error converting string to double array"); Assert.IsFalse(successConversion.Any(a => !successByteValues.Contains(a)), "Error converting string to double array"); Assert.IsTrue(successConversion.Count() == successByteValues.Count(), "Error converting string to double array"); falseConversions = string.Join(",", errorValues).TryParseDoubleArray(null, false); Assert.IsNotNull(falseConversions, "Error converting string to double array"); Assert.IsFalse(falseConversions.Any(a => !a.Equals(BasePrimitivesExtensions.GetDefaultDoubleConversionValue())), "Error converting string to double array"); mixedConversions = string.Join(",", mixedValues).TryParseDoubleArray(null, false); Assert.IsNotNull(mixedConversions, "Error converting string to double array"); Assert.IsFalse(mixedConversions.Any(a => !successByteValues.Contains(a) && !a.Equals(BasePrimitivesExtensions.GetDefaultDoubleConversionValue())), "Error converting string to double array"); Assert.IsTrue((mixedConversions.Count() - falseConversions.Count()) == successByteValues.Count(), "Error converting string to double array"); #endregion #region partial method (without number format), without default successConversion = string.Join(",", successValues).TryParseDoubleArray(null); Assert.IsNotNull(successConversion, "Error converting string to double array"); Assert.IsTrue(successConversion.Any(), "Error converting string to double array"); Assert.IsFalse(successConversion.Any(a => !successByteValues.Contains(a)), "Error converting string to double array"); Assert.IsTrue(successConversion.Count() == successByteValues.Count(), "Error converting string to double array"); falseConversions = string.Join(",", errorValues).TryParseDoubleArray(null); Assert.IsNotNull(falseConversions, "Error converting string to double array"); Assert.IsFalse(falseConversions.Any(a => !a.Equals(BasePrimitivesExtensions.GetDefaultDoubleConversionValue())), "Error converting string to double array"); mixedConversions = string.Join(",", mixedValues).TryParseDoubleArray(null); Assert.IsNotNull(mixedConversions, "Error converting string to double array"); Assert.IsFalse(mixedConversions.Any(a => !successByteValues.Contains(a) && !a.Equals(BasePrimitivesExtensions.GetDefaultDoubleConversionValue())), "Error converting string to double array"); Assert.IsTrue((mixedConversions.Count() - falseConversions.Count()) == successByteValues.Count(), "Error converting string to double array"); #endregion #region simple method (without number format) successConversion = string.Join(",", successValues).TryParseDoubleArray(); Assert.IsNotNull(successConversion, "Error converting string to double array"); Assert.IsTrue(successConversion.Any(), "Error converting string to double array"); Assert.IsFalse(successConversion.Any(a => !successByteValues.Contains(a)), "Error converting string to double array"); Assert.IsTrue(successConversion.Count() == successByteValues.Count(), "Error converting string to double array"); falseConversions = string.Join(",", errorValues).TryParseDoubleArray(); Assert.IsNotNull(falseConversions, "Error converting string to double array"); Assert.IsFalse(falseConversions.Any(a => !a.Equals(BasePrimitivesExtensions.GetDefaultDoubleConversionValue())), "Error converting string to double array"); mixedConversions = string.Join(",", mixedValues).TryParseDoubleArray(); Assert.IsNotNull(mixedConversions, "Error converting string to double array"); Assert.IsFalse(mixedConversions.Any(a => !successByteValues.Contains(a) && !a.Equals(BasePrimitivesExtensions.GetDefaultDoubleConversionValue())), "Error converting string to double array"); Assert.IsTrue((mixedConversions.Count() - falseConversions.Count()) == successByteValues.Count(), "Error converting string to double array"); #endregion }
public void TryParseDouble_FromString() { const string invalidValue1 = ""; const string invalidValue2 = "b"; #region full method var success = ConvertibleStringValue.TryParseDouble(DefaultValue, BasePrimitivesExtensions.GetDefaultDoubleAllowDefaultConversion(), BasePrimitivesExtensions.GetDefaultDoubleNumberStyle(), BasePrimitivesExtensions.GetCurrentCulture()); var invalid1 = invalidValue1.TryParseDouble(DefaultValue, BasePrimitivesExtensions.GetDefaultDoubleAllowDefaultConversion(), BasePrimitivesExtensions.GetDefaultDoubleNumberStyle(), BasePrimitivesExtensions.GetCurrentCulture()); var invalid2 = invalidValue2.TryParseDouble(DefaultValue, BasePrimitivesExtensions.GetDefaultDoubleAllowDefaultConversion(), BasePrimitivesExtensions.GetDefaultDoubleNumberStyle(), BasePrimitivesExtensions.GetCurrentCulture()); Assert.AreEqual(success, ConvertibleDoubleValue, "Error converting string to double"); Assert.AreEqual(invalid1, DefaultValue, "Error converting string to double"); Assert.AreEqual(invalid2, DefaultValue, "Error converting string to double"); #endregion #region without allowZero param success = ConvertibleStringValue.TryParseDouble(DefaultValue, BasePrimitivesExtensions.GetDefaultDoubleNumberStyle(), BasePrimitivesExtensions.GetCurrentCulture()); invalid1 = invalidValue1.TryParseDouble(DefaultValue, BasePrimitivesExtensions.GetDefaultDoubleNumberStyle(), BasePrimitivesExtensions.GetCurrentCulture()); invalid2 = invalidValue2.TryParseDouble(DefaultValue, BasePrimitivesExtensions.GetDefaultDoubleNumberStyle(), BasePrimitivesExtensions.GetCurrentCulture()); Assert.AreEqual(success, ConvertibleDoubleValue, "Error converting string to double"); Assert.AreEqual(invalid1, DefaultValue, "Error converting string to double"); Assert.AreEqual(invalid2, DefaultValue, "Error converting string to double"); #endregion #region without allowZero and DefaultValue params success = ConvertibleStringValue.TryParseDouble(BasePrimitivesExtensions.GetDefaultDoubleNumberStyle(), BasePrimitivesExtensions.GetCurrentCulture()); invalid1 = invalidValue1.TryParseDouble(BasePrimitivesExtensions.GetDefaultDoubleNumberStyle(), BasePrimitivesExtensions.GetCurrentCulture()); invalid2 = invalidValue2.TryParseDouble(BasePrimitivesExtensions.GetDefaultDoubleNumberStyle(), BasePrimitivesExtensions.GetCurrentCulture()); Assert.AreEqual(success, ConvertibleDoubleValue, "Error converting string to double"); Assert.AreEqual(invalid1, BasePrimitivesExtensions.GetDefaultIntConversionValue(), "Error converting string to double"); Assert.AreEqual(invalid2, BasePrimitivesExtensions.GetDefaultIntConversionValue(), "Error converting string to double"); #endregion #region without number style and culture params success = ConvertibleStringValue.TryParseDouble(DefaultValue, BasePrimitivesExtensions.GetDefaultDoubleAllowDefaultConversion()); invalid1 = invalidValue1.TryParseDouble(DefaultValue, BasePrimitivesExtensions.GetDefaultDoubleAllowDefaultConversion()); invalid2 = invalidValue2.TryParseDouble(DefaultValue, BasePrimitivesExtensions.GetDefaultDoubleAllowDefaultConversion()); Assert.AreEqual(success, ConvertibleDoubleValue, "Error converting string to double"); Assert.AreEqual(invalid1, DefaultValue, "Error converting string to double"); Assert.AreEqual(invalid2, DefaultValue, "Error converting string to double"); #endregion #region without number style, culture and allowZero params success = ConvertibleStringValue.TryParseDouble(DefaultValue); invalid1 = invalidValue1.TryParseDouble(DefaultValue); invalid2 = invalidValue2.TryParseDouble(DefaultValue); Assert.AreEqual(success, ConvertibleDoubleValue, "Error converting string to double"); Assert.AreEqual(invalid1, DefaultValue, "Error converting string to double"); Assert.AreEqual(invalid2, DefaultValue, "Error converting string to double"); #endregion #region simple conversion success = ConvertibleStringValue.TryParseDouble(); invalid1 = invalidValue1.TryParseDouble(); invalid2 = invalidValue2.TryParseDouble(); Assert.AreEqual(success, ConvertibleDoubleValue, "Error converting string to double"); Assert.AreEqual(invalid1, BasePrimitivesExtensions.GetDefaultIntConversionValue(), "Error converting string to double"); Assert.AreEqual(invalid2, BasePrimitivesExtensions.GetDefaultIntConversionValue(), "Error converting string to double"); #endregion }