xamarin-macios/tests/monotouch-test/Foundation/NSScriptCommandArgumentDesc...

82 строки
2.5 KiB
C#

#if __MACOS__
// Copyright 2015 Xamarin, Inc.
using System;
using Foundation;
using ObjCRuntime;
using NUnit.Framework;
namespace MonoTouchFixtures.Foundation {
[TestFixture]
[Preserve (AllMembers = true)]
public class NSScriptCommandArgumentDescriptionKeysTest {
[Test]
public void TestAppleEventCodeKey ()
{
Assert.IsNotNull (NSScriptCommandArgumentDescriptionKeys.AppleEventCodeKey);
Assert.AreEqual ("AppleEventCode", NSScriptCommandArgumentDescriptionKeys.AppleEventCodeKey?.ToString ());
}
[Test]
public void TestTypeKey ()
{
Assert.AreEqual ("Type", NSScriptCommandArgumentDescriptionKeys.TypeKey.ToString ());
}
[Test]
public void TestOptionalKey ()
{
Assert.AreEqual ("Optional", NSScriptCommandArgumentDescriptionKeys.OptionalKey.ToString ());
}
}
[TestFixture]
[Preserve (AllMembers = true)]
public class NSScriptCommandArgumentDescriptionTest {
[TestCase ("")]
[TestCase (null)]
public void TestConstructorNameNullOrEmpty (string name)
{
Assert.Throws<ArgumentException> (() => new NSScriptCommandArgumentDescription (name, "eeee", "NSString", false));
}
[TestCase ("")]
[TestCase (null)]
public void TestConstructorEventCodeNullOrEmpty (string eventCode)
{
Assert.Throws<ArgumentException> (() => new NSScriptCommandArgumentDescription ("name", eventCode, "NSString", false));
}
[TestCase ("srf")]
[TestCase ("TooLong")]
public void TestConstructorEventCodeWrongLength (string eventCode)
{
Assert.Throws<ArgumentException> (() => new NSScriptCommandArgumentDescription ("name", eventCode, "NSString", false));
}
[TestCase ("")]
[TestCase (null)]
public void TestConstructorTypeNullOrEmpty (string type)
{
Assert.Throws<ArgumentException> (() => new NSScriptCommandArgumentDescription ("name", "****", type, false));
}
[TestCase ("name", "cdfd", "NSString", true)]
[TestCase ("name", "cdfd", "NSNumber", false)]
[TestCase ("name", "****", "NSNumber", true)]
[TestCase ("otherName", "****", "NSNumber", false)]
public void TestDescription (string name, string code, string type, bool isOptional)
{
var arg = new NSScriptCommandArgumentDescription (name, code, type, isOptional);
var description = arg.Dictionary;
Assert.AreEqual (code, description [new NSString ("AppleEventCode")].ToString ());
Assert.AreEqual (type, description [new NSString ("Type")].ToString ());
Assert.AreEqual (isOptional? "Yes" : "No", description [ new NSString ("Optional")].ToString ());
}
}
}
#endif // __MACOS__