Files
Umbraco-CMS/tests/Umbraco.Tests.UnitTests/Umbraco.Core/CoreThings/TryConvertToTests.cs
Nikolaj Geisle 7aeb400fce V10: fix build warnings in test projects (#12509)
* Run code cleanup

* Dotnet format benchmarks project

* Fix up Test.Common

* Run dotnet format + manual cleanup

* Run code cleanup for unit tests

* Run dotnet format

* Fix up errors

* Manual cleanup of Unit test project

* Update tests/Umbraco.Tests.Benchmarks/HexStringBenchmarks.cs

Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>

* Update tests/Umbraco.Tests.Integration/Testing/TestDbMeta.cs

Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>

* Update tests/Umbraco.Tests.Benchmarks/TypeFinderBenchmarks.cs

Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>

* Update tests/Umbraco.Tests.Integration/Testing/UmbracoIntegrationTest.cs

Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>

* Update tests/Umbraco.Tests.Integration/Umbraco.Core/Events/EventAggregatorTests.cs

Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>

* Fix according to review

* Fix after merge

* Fix errors

Co-authored-by: Nikolaj Geisle <niko737@edu.ucl.dk>
Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>
Co-authored-by: Zeegaan <nge@umbraco.dk>
2022-06-21 08:09:38 +02:00

135 lines
4.2 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// Copyright (c) Umbraco.
// See LICENSE for more details.
using System;
using System.Globalization;
using NUnit.Framework;
using Umbraco.Extensions;
namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Core.CoreThings;
[TestFixture]
public class TryConvertToTests
{
[Test]
public void ConvertToBoolTest()
{
var conv = 1.TryConvertTo<bool>();
Assert.IsTrue(conv);
Assert.AreEqual(true, conv.Result);
conv = "1".TryConvertTo<bool>();
Assert.IsTrue(conv);
Assert.AreEqual(true, conv.Result);
conv = 0.TryConvertTo<bool>();
Assert.IsTrue(conv);
Assert.AreEqual(false, conv.Result);
conv = "0".TryConvertTo<bool>();
Assert.IsTrue(conv);
Assert.AreEqual(false, conv.Result);
conv = "Yes".TryConvertTo<bool>();
Assert.IsTrue(conv);
Assert.AreEqual(true, conv.Result);
conv = "yes".TryConvertTo<bool>();
Assert.IsTrue(conv);
Assert.AreEqual(true, conv.Result);
conv = "No".TryConvertTo<bool>();
Assert.IsTrue(conv);
Assert.AreEqual(false, conv.Result);
conv = "no".TryConvertTo<bool>();
Assert.IsTrue(conv);
Assert.AreEqual(false, conv.Result);
}
[Test]
[TestCase("en-US", -1, ExpectedResult = -1)]
[TestCase("en-US", "-1", ExpectedResult = -1)]
[TestCase("en-US", "100", ExpectedResult = 100)]
[TestCase("en-US", "100.000", ExpectedResult = 100)]
[TestCase("en-US", "100,000", ExpectedResult = 100)]
[TestCase("en-US", "100.001", ExpectedResult = 100)]
[TestCase("en-US", 100, ExpectedResult = 100)]
[TestCase("en-US", 100.000, ExpectedResult = 100)]
[TestCase("en-US", 100.001, ExpectedResult = 100)]
[TestCase("sv-SE", -1, ExpectedResult = -1)]
[TestCase("sv-SE", "1", ExpectedResult = -1)] // Note '' vs '-'
[TestCase("sv-SE", "100", ExpectedResult = 100)]
[TestCase("sv-SE", "100.000", ExpectedResult = 100)]
[TestCase("sv-SE", "100,000", ExpectedResult = 100)]
[TestCase("sv-SE", "100.001", ExpectedResult = 100)]
[TestCase("sv-SE", 100, ExpectedResult = 100)]
[TestCase("sv-SE", 100.000, ExpectedResult = 100)]
[TestCase("sv-SE", 100.001, ExpectedResult = 100)]
[TestCase("da-DK", "-1", ExpectedResult = -1)]
[TestCase("da-DK", -1, ExpectedResult = -1)]
[TestCase("da-DK", "100", ExpectedResult = 100)]
[TestCase("da-DK", "100.000", ExpectedResult = 100)]
[TestCase("da-DK", "100,000", ExpectedResult = 100)]
[TestCase("da-DK", "100.001", ExpectedResult = 100)]
[TestCase("da-DK", 100, ExpectedResult = 100)]
[TestCase("da-DK", 100.000, ExpectedResult = 100)]
[TestCase("da-DK", 100.001, ExpectedResult = 100)]
public int ConvertToIntegerTest(string culture, object input)
{
if (culture is not null)
{
CultureInfo.CurrentCulture = CultureInfo.GetCultureInfo(culture);
}
var conv = input.TryConvertTo<int>();
Assert.IsTrue(conv);
return conv.Result;
}
[Test]
public void ConvertToDecimalTest()
{
var conv = "100".TryConvertTo<decimal>();
Assert.IsTrue(conv);
Assert.AreEqual(100m, conv.Result);
conv = "100.000".TryConvertTo<decimal>();
Assert.IsTrue(conv);
Assert.AreEqual(100m, conv.Result);
conv = "100,000".TryConvertTo<decimal>();
Assert.IsTrue(conv);
Assert.AreEqual(100m, conv.Result);
conv = "100.001".TryConvertTo<decimal>();
Assert.IsTrue(conv);
Assert.AreEqual(100.001m, conv.Result);
conv = 100m.TryConvertTo<decimal>();
Assert.IsTrue(conv);
Assert.AreEqual(100m, conv.Result);
conv = 100.000m.TryConvertTo<decimal>();
Assert.IsTrue(conv);
Assert.AreEqual(100m, conv.Result);
conv = 100.001m.TryConvertTo<decimal>();
Assert.IsTrue(conv);
Assert.AreEqual(100.001m, conv.Result);
conv = 100.TryConvertTo<decimal>();
Assert.IsTrue(conv);
Assert.AreEqual(100m, conv.Result);
}
[Test]
public void ConvertToDateTimeTest()
{
var conv = "2016-06-07".TryConvertTo<DateTime>();
Assert.IsTrue(conv);
Assert.AreEqual(new DateTime(2016, 6, 7), conv.Result);
}
}