2021-09-10 11:28:04 -06:00
|
|
|
// Copyright (c) Umbraco.
|
2020-12-20 08:36:11 +01:00
|
|
|
// See LICENSE for more details.
|
|
|
|
|
|
|
|
|
|
using System;
|
2016-06-27 15:21:21 +02:00
|
|
|
using NUnit.Framework;
|
2021-02-18 11:06:02 +01:00
|
|
|
using Umbraco.Extensions;
|
2016-06-27 15:21:21 +02:00
|
|
|
|
2021-02-18 11:06:02 +01:00
|
|
|
namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Core.CoreThings
|
2016-06-27 15:21:21 +02:00
|
|
|
{
|
|
|
|
|
[TestFixture]
|
2020-09-22 15:59:37 +02:00
|
|
|
public class TryConvertToTests
|
2016-06-27 15:21:21 +02:00
|
|
|
{
|
2021-09-10 11:28:04 -06:00
|
|
|
[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);
|
|
|
|
|
}
|
|
|
|
|
|
2016-06-27 15:21:21 +02:00
|
|
|
[Test]
|
|
|
|
|
public void ConvertToIntegerTest()
|
|
|
|
|
{
|
|
|
|
|
var conv = "100".TryConvertTo<int>();
|
|
|
|
|
Assert.IsTrue(conv);
|
|
|
|
|
Assert.AreEqual(100, conv.Result);
|
|
|
|
|
|
|
|
|
|
conv = "100.000".TryConvertTo<int>();
|
|
|
|
|
Assert.IsTrue(conv);
|
|
|
|
|
Assert.AreEqual(100, conv.Result);
|
|
|
|
|
|
|
|
|
|
conv = "100,000".TryConvertTo<int>();
|
|
|
|
|
Assert.IsTrue(conv);
|
|
|
|
|
Assert.AreEqual(100, conv.Result);
|
|
|
|
|
|
|
|
|
|
// oops
|
|
|
|
|
conv = "100.001".TryConvertTo<int>();
|
|
|
|
|
Assert.IsTrue(conv);
|
|
|
|
|
Assert.AreEqual(100, conv.Result);
|
|
|
|
|
|
|
|
|
|
conv = 100m.TryConvertTo<int>();
|
|
|
|
|
Assert.IsTrue(conv);
|
|
|
|
|
Assert.AreEqual(100, conv.Result);
|
|
|
|
|
|
|
|
|
|
conv = 100.000m.TryConvertTo<int>();
|
|
|
|
|
Assert.IsTrue(conv);
|
|
|
|
|
Assert.AreEqual(100, conv.Result);
|
|
|
|
|
|
|
|
|
|
// oops
|
|
|
|
|
conv = 100.001m.TryConvertTo<int>();
|
|
|
|
|
Assert.IsTrue(conv);
|
|
|
|
|
Assert.AreEqual(100, 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);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|