using System; using NUnit.Framework; using Umbraco.Core; using Umbraco.Core.ObjectResolution; using Umbraco.Core.Strings; using Umbraco.Tests.TestHelpers; namespace Umbraco.Tests { [TestFixture] public class TryConvertToTests { [SetUp] public void SetUp() { var settings = SettingsForTests.GetDefault(); ShortStringHelperResolver.Current = new ShortStringHelperResolver(new DefaultShortStringHelper(settings).WithDefaultConfig()); Resolution.Freeze(); } [TearDown] public void TearDown() { ShortStringHelperResolver.Reset(); } [Test] public void ConvertToIntegerTest() { var conv = "100".TryConvertTo(); Assert.IsTrue(conv); Assert.AreEqual(100, conv.Result); conv = "100.000".TryConvertTo(); Assert.IsTrue(conv); Assert.AreEqual(100, conv.Result); conv = "100,000".TryConvertTo(); Assert.IsTrue(conv); Assert.AreEqual(100, conv.Result); // oops conv = "100.001".TryConvertTo(); Assert.IsTrue(conv); Assert.AreEqual(100, conv.Result); conv = 100m.TryConvertTo(); Assert.IsTrue(conv); Assert.AreEqual(100, conv.Result); conv = 100.000m.TryConvertTo(); Assert.IsTrue(conv); Assert.AreEqual(100, conv.Result); // oops conv = 100.001m.TryConvertTo(); Assert.IsTrue(conv); Assert.AreEqual(100, conv.Result); } [Test] public void ConvertToDecimalTest() { var conv = "100".TryConvertTo(); Assert.IsTrue(conv); Assert.AreEqual(100m, conv.Result); conv = "100.000".TryConvertTo(); Assert.IsTrue(conv); Assert.AreEqual(100m, conv.Result); conv = "100,000".TryConvertTo(); Assert.IsTrue(conv); Assert.AreEqual(100m, conv.Result); conv = "100.001".TryConvertTo(); Assert.IsTrue(conv); Assert.AreEqual(100.001m, conv.Result); conv = 100m.TryConvertTo(); Assert.IsTrue(conv); Assert.AreEqual(100m, conv.Result); conv = 100.000m.TryConvertTo(); Assert.IsTrue(conv); Assert.AreEqual(100m, conv.Result); conv = 100.001m.TryConvertTo(); Assert.IsTrue(conv); Assert.AreEqual(100.001m, conv.Result); conv = 100.TryConvertTo(); Assert.IsTrue(conv); Assert.AreEqual(100m, conv.Result); } [Test] public void ConvertToDateTimeTest() { var conv = "2016-06-07".TryConvertTo(); Assert.IsTrue(conv); Assert.AreEqual(new DateTime(2016, 6, 7), conv.Result); } } }