Implement MachineKey.Protect and MachineKey.Unprotect
[mono.git] / mcs / class / System.ComponentModel.Composition / Tests / ComponentModelUnitTest / System / ComponentModel / Composition / ImportAttributeTests.cs
1 // -----------------------------------------------------------------------\r
2 // Copyright (c) Microsoft Corporation.  All rights reserved.\r
3 // -----------------------------------------------------------------------\r
4 using System;\r
5 using System.ComponentModel.Composition;\r
6 using Microsoft.VisualStudio.TestTools.UnitTesting;\r
7 using System.UnitTesting;\r
8 \r
9 namespace System.ComponentModel.Composition\r
10 {\r
11     [TestClass]\r
12     public class ImportAttributeTests\r
13     {\r
14         [TestMethod]\r
15         public void Constructor1_ShouldSetContractNamePropertyToEmptyString()\r
16         {\r
17             var attribute = new ImportAttribute();\r
18 \r
19             Assert.IsNull(attribute.ContractName);\r
20             Assert.IsNull(attribute.ContractType);\r
21         }\r
22 \r
23         [TestMethod]\r
24         public void Constructor2_NullAsContractNameArgument_ShouldSetContractNamePropertyToEmptyString()\r
25         {\r
26             var attribute = new ImportAttribute((string)null);\r
27 \r
28             Assert.IsNull(attribute.ContractName);\r
29             Assert.IsNull(attribute.ContractType);\r
30         }\r
31 \r
32         [TestMethod]\r
33         public void Constructor3_NullAsContractTypeArgument_ShouldSetContractNamePropertyToEmptyString()\r
34         {\r
35             var attribute = new ImportAttribute((Type)null);\r
36 \r
37             Assert.IsNull(attribute.ContractName);\r
38             Assert.IsNull(attribute.ContractType);\r
39         }\r
40 \r
41         [TestMethod]\r
42         public void Constructor4_NullAsContractTypeArgument_ShouldSetContractNamePropertyToEmptyString()\r
43         {\r
44             var attribute = new ImportAttribute((string)null, (Type)null);\r
45 \r
46             Assert.IsNull(attribute.ContractName);\r
47             Assert.IsNull(attribute.ContractType);\r
48         }\r
49 \r
50         [TestMethod]\r
51         public void Constructor2_ValueAsContractNameArgument_ShouldSetContractNameProperty()\r
52         {\r
53             var expectations = Expectations.GetContractNamesWithEmpty();\r
54 \r
55             foreach (var e in expectations)\r
56             {\r
57                 var attribute = new ImportAttribute(e);\r
58 \r
59                 Assert.AreEqual(e, attribute.ContractName);\r
60             }\r
61         }\r
62 \r
63         [TestMethod]\r
64         public void Constructor1_ShouldSetAllowDefaultPropertyToFalse()\r
65         {\r
66             var attribute = new ImportAttribute();\r
67 \r
68             Assert.IsFalse(attribute.AllowDefault);\r
69         }\r
70 \r
71         [TestMethod]\r
72         public void Constructor2_ShouldSetAllowDefaultPropertyToFalse()\r
73         {\r
74             var attribute = new ImportAttribute("ContractName");\r
75 \r
76             Assert.IsFalse(attribute.AllowDefault);\r
77         }\r
78 \r
79         [TestMethod]\r
80         public void Constructor3_ShouldSetAllowDefaultPropertyToFalse()\r
81         {\r
82             var attribute = new ImportAttribute(typeof(String));\r
83 \r
84             Assert.IsFalse(attribute.AllowDefault);\r
85         }\r
86 \r
87         [TestMethod]\r
88         public void Constructor1_ShouldSetAllowRecompositionPropertyToFalse()\r
89         {\r
90             var attribute = new ImportAttribute();\r
91 \r
92             Assert.IsFalse(attribute.AllowRecomposition);\r
93         }\r
94 \r
95         [TestMethod]\r
96         public void Constructor2_ShouldSetAllowRecompositionPropertyToFalse()\r
97         {\r
98             var attribute = new ImportAttribute("ContractName");\r
99 \r
100             Assert.IsFalse(attribute.AllowRecomposition);\r
101         }\r
102 \r
103         [TestMethod]\r
104         public void Constructor3_ShouldSetAllowRecompositionPropertyToFalse()\r
105         {\r
106             var attribute = new ImportAttribute(typeof(String));\r
107 \r
108             Assert.IsFalse(attribute.AllowRecomposition);\r
109         }\r
110 \r
111         [TestMethod]\r
112         public void AllowDefault_ValueAsValueArgument_ShouldSetProperty()\r
113         {\r
114             var expectations = Expectations.GetBooleans();\r
115 \r
116             var attribute = new ImportAttribute();\r
117 \r
118             foreach (var e in expectations)\r
119             {\r
120                 attribute.AllowDefault = e;\r
121                 Assert.AreEqual(e, attribute.AllowDefault);\r
122             }\r
123         }\r
124 \r
125         [TestMethod]\r
126         public void AllowRecomposition_ValueAsValueArgument_ShouldSetProperty()\r
127         {\r
128             var expectations = Expectations.GetBooleans();\r
129 \r
130             var attribute = new ImportAttribute();\r
131 \r
132             foreach (var e in expectations)\r
133             {\r
134                 attribute.AllowRecomposition = e;\r
135                 Assert.AreEqual(e, attribute.AllowRecomposition);\r
136             }\r
137         }\r
138     }\r
139 }\r