using System.Globalization; using FluentAssertions; using NUnit.Framework; namespace Developpez.Dotnet.Tests { [TestFixture] public class NumbersTests { [Test] public void Generic_TryParse_Returns_Value_If_Input_Is_Valid() { const string input = "42"; int? result = input.TryParse(); result.Should().Be(42); } [Test] public void Generic_TryParse_Returns_Null_If_Input_Is_Not_Valid() { const string input = "foo"; int? result = input.TryParse(); result.Should().Be(null); } [Test] public void TryParseInt32_Returns_Value_If_Input_Is_Valid() { const string input = "42"; int? result = Numbers.TryParseInt32(input); result.Should().Be(42); } [Test] public void TryParseInt32_Returns_Null_If_Input_Is_Not_Valid() { const string input = "foo"; int? result = Numbers.TryParseInt32(input); result.Should().Be(null); } [Test] public void TryParseDouble_Returns_Value_If_Input_Is_Valid() { const string input = "42.123"; double? result = Numbers.TryParseDouble(input, NumberStyles.Float, CultureInfo.InvariantCulture); result.Should().Be(42.123); } [Test] public void TryParseDouble_Returns_Null_If_Input_Is_Not_Valid() { const string input = "foo"; double? result = Numbers.TryParseDouble(input, NumberStyles.Float, CultureInfo.InvariantCulture); result.Should().BeNull(); } } }