53 строки
1.7 KiB
C#
53 строки
1.7 KiB
C#
using System;
|
|
using System.ComponentModel;
|
|
|
|
using NUnit.Framework;
|
|
|
|
using Foundation;
|
|
|
|
namespace LinkAll {
|
|
|
|
public class CustomConverter : TypeConverter {
|
|
// note: the default ctor will be preserved by the linker because it's used in a [TypeConverter] attribute
|
|
}
|
|
|
|
[TypeConverter (typeof (BooleanConverter))]
|
|
public class BuiltInConverter {
|
|
}
|
|
|
|
[TypeConverter (typeof (CustomConverter))]
|
|
class TypeDescriptorTest {
|
|
}
|
|
|
|
[TestFixture]
|
|
// we want the test to be availble if we use the linker
|
|
[Preserve (AllMembers = true)]
|
|
public class CommonLinkAllTest {
|
|
|
|
[Test]
|
|
public void TypeConverter_BuiltIn ()
|
|
{
|
|
Assert.NotNull (TypeDescriptor.GetConverter (new BuiltInConverter ()), "BuiltInConverter");
|
|
|
|
string name = (typeof (BuiltInConverter).GetCustomAttributes (false) [0] as TypeConverterAttribute).ConverterTypeName;
|
|
Assert.That (name, Is.EqualTo ("System.ComponentModel.BooleanConverter, System, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e"), "ConverterTypeName");
|
|
}
|
|
|
|
[Test]
|
|
public void TypeConverter_Custom ()
|
|
{
|
|
Assert.NotNull (TypeDescriptor.GetConverter (new TypeDescriptorTest ()), "TypeDescriptorTest");
|
|
|
|
string name = (typeof (TypeDescriptorTest).GetCustomAttributes (false) [0] as TypeConverterAttribute).ConverterTypeName;
|
|
Assert.That (name, Is.EqualTo ("LinkAll.CustomConverter, link all, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"), "ConverterTypeName");
|
|
}
|
|
|
|
[Test]
|
|
public void ConstantsVersion_4859 ()
|
|
{
|
|
// Check that the Makefile generated a valid version number, e.g. "12.3." was not
|
|
// reference: https://github.com/xamarin/xamarin-macios/issues/4859
|
|
Assert.True (Version.TryParse (ObjCRuntime.Constants.Version, out var _), "Version");
|
|
}
|
|
}
|
|
} |