[System*] Throw a PlatformNotSupported exception when using the managed networking...
[mono.git] / mcs / class / System.Data / Test / System.Data.Common / DBDataPermissionAttributeTest.cs
index 2fabc3f906d0669647960ddaed7334eb5cfda50e..5aac0c0eeb63314dda770c7a5347d55eb88ea877 100644 (file)
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r
 //\r
 \r
-using NUnit.Framework;\r
 using System;\r
 using System.Data;\r
 using System.Data.Common;\r
 using System.Security;\r
 using System.Security.Permissions;\r
 \r
-namespace MonoTests.System.Data.Common {\r
-\r
-       public class NonAbstractDBDataPermissionAttribute : DBDataPermissionAttribute {\r
+using NUnit.Framework;\r
 \r
+namespace MonoTests.System.Data.Common\r
+{\r
+       public class NonAbstractDBDataPermissionAttribute : DBDataPermissionAttribute\r
+       {\r
                public NonAbstractDBDataPermissionAttribute (SecurityAction action)\r
                        : base (action)\r
                {\r
                }\r
 \r
-               public override IPermission CreatePermission()
-               {
-                       return null;
-               }
+               public override IPermission CreatePermission()\r
+               {\r
+                       return null;\r
+               }\r
        }\r
 \r
        [TestFixture]\r
-       public class DBDataPermissionAttributeTest {\r
-\r
+#if MOBILE\r
+       [Ignore ("CAS is not supported and parts will be linked away")]\r
+#endif\r
+       public class DBDataPermissionAttributeTest\r
+       {\r
                [Test]\r
                public void Default ()\r
                {\r
                        DBDataPermissionAttribute a = new NonAbstractDBDataPermissionAttribute (SecurityAction.Assert);\r
-#if !TARGET_JVM                        \r
                        Assert.AreEqual (a.ToString (), a.TypeId.ToString (), "TypeId");\r
-#endif                 \r
                        Assert.IsFalse (a.Unrestricted, "Unrestricted");\r
                        Assert.IsFalse (a.AllowBlankPassword, "AllowBlankPassword");\r
                        Assert.AreEqual (String.Empty, a.ConnectionString, "ConnectionString");\r
                        Assert.AreEqual (KeyRestrictionBehavior.AllowOnly, a.KeyRestrictionBehavior, "KeyRestrictionBehavior");\r
                        Assert.AreEqual (String.Empty, a.KeyRestrictions, "KeyRestrictions");\r
-#if NET_2_0\r
                        Assert.IsFalse (a.ShouldSerializeConnectionString (), "ShouldSerializeConnectionString");\r
                        Assert.IsFalse (a.ShouldSerializeKeyRestrictions (), "ShouldSerializeConnectionString");\r
-#endif\r
                }\r
 \r
                [Test]\r
@@ -96,7 +96,7 @@ namespace MonoTests.System.Data.Common {
                [Test]\r
                public void Action_Invalid ()\r
                {\r
-                       DBDataPermissionAttribute a = new NonAbstractDBDataPermissionAttribute ((SecurityAction)Int32.MinValue);\r
+                       new NonAbstractDBDataPermissionAttribute ((SecurityAction)Int32.MinValue);\r
                        // no validation in attribute\r
                }\r
 \r
@@ -134,15 +134,22 @@ namespace MonoTests.System.Data.Common {
                }\r
 \r
                [Test]\r
-#if NET_2_0\r
-               [ExpectedException (typeof (ArgumentOutOfRangeException))]\r
-#else\r
-               [ExpectedException (typeof (ArgumentException))]\r
-#endif\r
                public void KeyRestrictionBehavior_Invalid ()\r
                {\r
                        DBDataPermissionAttribute a = new NonAbstractDBDataPermissionAttribute (SecurityAction.Assert);\r
-                       a.KeyRestrictionBehavior = (KeyRestrictionBehavior)Int32.MinValue;\r
+                       try {\r
+                               a.KeyRestrictionBehavior = (KeyRestrictionBehavior) 666;\r
+                               Assert.Fail ("#1");\r
+                       } catch (ArgumentOutOfRangeException ex) {\r
+                               // The KeyRestrictionBehavior enumeration value, 666, is invalid\r
+                               Assert.AreEqual (typeof (ArgumentOutOfRangeException), ex.GetType (), "#2");\r
+                               Assert.IsNull (ex.InnerException, "#3");\r
+                               Assert.IsNotNull (ex.Message, "#4");\r
+                               Assert.IsTrue (ex.Message.IndexOf ("KeyRestrictionBehavior") != -1, "#5");\r
+                               Assert.IsTrue (ex.Message.IndexOf ("666") != -1, "#6");\r
+                               Assert.IsNotNull (ex.ParamName, "#7");\r
+                               Assert.AreEqual ("KeyRestrictionBehavior", ex.ParamName, "#8");\r
+                       }\r
                }\r
 \r
                [Test]\r
@@ -165,7 +172,7 @@ namespace MonoTests.System.Data.Common {
 \r
                        object [] attrs = t.GetCustomAttributes (typeof (AttributeUsageAttribute), false);\r
                        Assert.AreEqual (1, attrs.Length, "AttributeUsage");\r
-                       AttributeUsageAttribute aua = (AttributeUsageAttribute)attrs [0];\r
+                       AttributeUsageAttribute aua = (AttributeUsageAttribute) attrs [0];\r
                        Assert.IsTrue (aua.AllowMultiple, "AllowMultiple");\r
                        Assert.IsFalse (aua.Inherited, "Inherited");\r
                        AttributeTargets at = AttributeTargets.Assembly | AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Constructor | AttributeTargets.Method;\r