Merge pull request #4453 from lambdageek/bug-49721
[mono.git] / mcs / class / System.Transactions / Test / TransactionScopeTest.cs
index 80925e27f5231a8c64ae261bc11f52978f44553c..a474c995e63cfbbfa619608e9719db6857a83f64 100644 (file)
@@ -18,6 +18,24 @@ namespace MonoTests.System.Transactions
        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 ()
                {