// // System.ComponentModel.DesignerAttribute test cases // // Authors: // Gert Driesen (drieseng@users.sourceforge.net // // (c) 2008 Gert Driesen // using System; using System.ComponentModel; using System.ComponentModel.Design; using NUnit.Framework; namespace MonoTests.System.ComponentModel { [TestFixture] public class DesignerAttributeTest { [Test] // ctor (String) public void Constructor1 () { DesignerAttribute da; da = new DesignerAttribute ("CategoryType"); Assert.AreEqual (typeof (IDesigner).FullName, da.DesignerBaseTypeName, "#A1"); Assert.AreEqual ("CategoryType", da.DesignerTypeName, "#A2"); Assert.AreEqual (typeof (DesignerAttribute).FullName + da.DesignerBaseTypeName, da.TypeId, "#A3"); da = new DesignerAttribute ("Mono.Components.CategoryType"); Assert.AreEqual (typeof (IDesigner).FullName, da.DesignerBaseTypeName, "#B1"); Assert.AreEqual ("Mono.Components.CategoryType", da.DesignerTypeName, "#B2"); Assert.AreEqual (typeof (DesignerAttribute).FullName + da.DesignerBaseTypeName, da.TypeId, "#B3"); da = new DesignerAttribute (string.Empty); Assert.AreEqual (typeof (IDesigner).FullName, da.DesignerBaseTypeName, "#C1"); Assert.AreEqual (string.Empty, da.DesignerTypeName, "#C2"); Assert.AreEqual (typeof (DesignerAttribute).FullName + da.DesignerBaseTypeName, da.TypeId, "#C3"); } [Test] [ExpectedException (typeof (NullReferenceException))] public void Constructor1_DesignerTypeName_Null () { new DesignerAttribute ((string) null); } [Test] // ctor (Type) public void Constructor2 () { DesignerAttribute da = new DesignerAttribute (typeof (string)); Assert.AreEqual (typeof (IDesigner).FullName, da.DesignerBaseTypeName, "#1"); Assert.AreEqual (typeof (string).AssemblyQualifiedName, da.DesignerTypeName, "#2"); Assert.AreEqual (typeof (DesignerAttribute).FullName + da.DesignerBaseTypeName, da.TypeId, "#3"); } [Test] [ExpectedException (typeof (NullReferenceException))] public void Constructor2_DesignerType_Null () { new DesignerAttribute ((Type) null); } [Test] // ctor (String, String) public void Constructor3 () { DesignerAttribute da; da = new DesignerAttribute ("Mono.Components.CategoryType", "Mono.Design.CompositeAttribute"); Assert.AreEqual ("Mono.Design.CompositeAttribute", da.DesignerBaseTypeName, "#A1"); Assert.AreEqual ("Mono.Components.CategoryType", da.DesignerTypeName, "#A2"); Assert.AreEqual (typeof (DesignerAttribute).FullName + da.DesignerBaseTypeName, da.TypeId, "#A3"); da = new DesignerAttribute ("CategoryType", "CompositeAttribute"); Assert.AreEqual ("CompositeAttribute", da.DesignerBaseTypeName, "#B1"); Assert.AreEqual ("CategoryType", da.DesignerTypeName, "#B2"); Assert.AreEqual (typeof (DesignerAttribute).FullName + da.DesignerBaseTypeName, da.TypeId, "#B3"); da = new DesignerAttribute (string.Empty, string.Empty); Assert.AreEqual (string.Empty, da.DesignerBaseTypeName, "#C1"); Assert.AreEqual (string.Empty, da.DesignerTypeName, "#C2"); Assert.AreEqual (typeof (DesignerAttribute).FullName, da.TypeId, "#C3"); } [Test] public void Constructor3_DesignerBaseType_Null () { DesignerAttribute da = new DesignerAttribute ( "CategoryType", (string) null); Assert.IsNull (da.DesignerBaseTypeName, "#1"); Assert.AreEqual ("CategoryType", da.DesignerTypeName, "#2"); try { object typeId = da.TypeId; Assert.Fail ("#3: " + typeId); } catch (NullReferenceException) { } } [Test] [ExpectedException (typeof (NullReferenceException))] public void Constructor3_DesignerTypeName_Null () { new DesignerAttribute ((string) null, "Mono.Design.CompositeAttribute"); } [Test] // ctor (String, Type) public void Constructor4 () { DesignerAttribute da; da = new DesignerAttribute ("Mono.Components.CategoryType", typeof (string)); Assert.AreEqual (typeof (string).AssemblyQualifiedName, da.DesignerBaseTypeName, "#A1"); Assert.AreEqual ("Mono.Components.CategoryType", da.DesignerTypeName, "#A2"); Assert.AreEqual (typeof (DesignerAttribute).FullName + typeof (string).FullName, da.TypeId, "#A3"); da = new DesignerAttribute ("CategoryType", typeof (int)); Assert.AreEqual (typeof (int).AssemblyQualifiedName, da.DesignerBaseTypeName, "#B1"); Assert.AreEqual ("CategoryType", da.DesignerTypeName, "#B2"); Assert.AreEqual (typeof (DesignerAttribute).FullName + typeof (int).FullName, da.TypeId, "#B3"); da = new DesignerAttribute (string.Empty, typeof (string)); Assert.AreEqual (typeof (string).AssemblyQualifiedName, da.DesignerBaseTypeName, "#C1"); Assert.AreEqual (string.Empty, da.DesignerTypeName, "#C2"); Assert.AreEqual (typeof (DesignerAttribute).FullName + typeof (string).FullName, da.TypeId, "#C3"); } [Test] [ExpectedException (typeof (NullReferenceException))] public void Constructor4_DesignerBaseTypeName_Null () { new DesignerAttribute ("CategoryType", (Type) null); } [Test] [ExpectedException (typeof (NullReferenceException))] public void Constructor4_DesignerTypeName_Null () { new DesignerAttribute ((string) null, typeof (string)); } [Test] // ctor (Type, Type) public void Constructor5 () { DesignerAttribute da; da = new DesignerAttribute (typeof (int), typeof (string)); Assert.AreEqual (typeof (string).AssemblyQualifiedName, da.DesignerBaseTypeName, "#A1"); Assert.AreEqual (typeof (int).AssemblyQualifiedName, da.DesignerTypeName, "#A2"); Assert.AreEqual (typeof (DesignerAttribute).FullName + typeof (string).FullName, da.TypeId, "#A3"); da = new DesignerAttribute (typeof (string), typeof (int)); Assert.AreEqual (typeof (int).AssemblyQualifiedName, da.DesignerBaseTypeName, "#B1"); Assert.AreEqual (typeof (string).AssemblyQualifiedName, da.DesignerTypeName, "#B2"); Assert.AreEqual (typeof (DesignerAttribute).FullName + typeof (int).FullName, da.TypeId, "#B3"); } [Test] // ctor (Type, Type) [ExpectedException (typeof (NullReferenceException))] public void Constructor5_DesignerBaseTypeName_Null () { new DesignerAttribute (typeof (string), (Type) null); } [Test] // ctor (Type, Type) [ExpectedException (typeof (NullReferenceException))] public void Constructor5_DesignerTypeName_Null () { new DesignerAttribute ((Type) null, typeof (string)); } } }