mirror of
https://github.com/claunia/plist-cil.git
synced 2025-12-16 11:04:26 +00:00
78 lines
2.5 KiB
C#
78 lines
2.5 KiB
C#
using Claunia.PropertyList;
|
|
using NUnit.Framework;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Globalization;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace plistcil.test
|
|
{
|
|
[TestFixture]
|
|
public class NSNumberTests
|
|
{
|
|
[Test]
|
|
public static void NSNumberConstructorTest()
|
|
{
|
|
var number = new NSNumber("10032936613", NSNumber.INTEGER);
|
|
Assert.AreEqual(NSNumber.INTEGER, number.GetNSNumberType());
|
|
Assert.AreEqual(10032936613, number.ToObject());
|
|
}
|
|
|
|
// The tests below make sure the numbers are being parsed correctly, and do not depend on the culture info
|
|
// being set. Especially, decimal point may vary between cultures and we don't want to take a dependency on that
|
|
// The value being used comes seen in a real property list:
|
|
// <key>TimeZoneOffsetFromUTC</key>
|
|
// <real>7200.000000</real>
|
|
|
|
#if !NETCORE
|
|
[Test]
|
|
[SetCulture("en-US")]
|
|
public static void ParseNumberEnTest()
|
|
{
|
|
var number = new NSNumber("7200.000001");
|
|
Assert.IsTrue(number.isReal());
|
|
Assert.AreEqual(7200.000001d, number.ToDouble());
|
|
}
|
|
|
|
[Test]
|
|
[SetCulture("nl-BE")]
|
|
public static void ParseNumberNlTest()
|
|
{
|
|
// As seen in a real property list:
|
|
// <key>TimeZoneOffsetFromUTC</key>
|
|
// <real>7200.000000</real>
|
|
var number = new NSNumber("7200.000001");
|
|
Assert.IsTrue(number.isReal());
|
|
Assert.AreEqual(7200.000001d, number.ToDouble());
|
|
}
|
|
|
|
[Test]
|
|
[SetCulture("en-US")]
|
|
public static void ParseNumberEnTest2()
|
|
{
|
|
// As seen in a real property list:
|
|
// <key>TimeZoneOffsetFromUTC</key>
|
|
// <real>7200.000000</real>
|
|
var number = new NSNumber("7200.000000", NSNumber.REAL);
|
|
Assert.IsTrue(number.isReal());
|
|
Assert.AreEqual(7200d, number.ToDouble());
|
|
}
|
|
|
|
[Test]
|
|
[SetCulture("nl-BE")]
|
|
public static void ParseNumberNlTest2()
|
|
{
|
|
// As seen in a real property list:
|
|
// <key>TimeZoneOffsetFromUTC</key>
|
|
// <real>7200.000000</real>
|
|
var number = new NSNumber("7200.000000", NSNumber.REAL);
|
|
Assert.IsTrue(number.isReal());
|
|
Assert.AreEqual(7200d, number.ToDouble());
|
|
}
|
|
#endif
|
|
}
|
|
}
|