Merge pull request #4453 from lambdageek/bug-49721
[mono.git] / mcs / class / System.Transactions / Test / TransactionScopeTest.cs
index 3e29a639077b8c4878b89ca04fffea29c41c14d4..a474c995e63cfbbfa619608e9719db6857a83f64 100644 (file)
@@ -17,6 +17,25 @@ namespace MonoTests.System.Transactions
        [TestFixture]
        public class TransactionScopeTest
        {
+
+               [Test]
+               public void TransactionScopeWithInvalidTimeSpanThrows ()
+               {
+                       try {
+                               TransactionScope scope = new TransactionScope (TransactionScopeOption.Required, TimeSpan.FromSeconds (-1));
+                               Assert.Fail ("Expected exception when passing TransactionScopeOption and an invalid TimeSpan.");
+                       } catch (ArgumentOutOfRangeException ex) {
+                               Assert.AreEqual ("scopeTimeout", ex.ParamName);
+                       }
+
+                       try {
+                               TransactionScope scope = new TransactionScope (null, TimeSpan.FromSeconds (-1));
+                               Assert.Fail ("Expected exception when passing TransactionScopeOption and an invalid TimeSpan.");
+                       } catch (ArgumentOutOfRangeException ex) {
+                               Assert.AreEqual ("scopeTimeout", ex.ParamName);
+                       }
+               }
+
                [Test]
                public void TransactionScopeCommit ()
                {
@@ -454,8 +473,6 @@ namespace MonoTests.System.Transactions
                }
 
                [Test]
-               [Category("NotWorking")]
-               [Ignore("NotWorking")]
                public void RMFail2 ()
                {
                        IntResourceManager irm = new IntResourceManager (1);