1 2 #define CONTRACTS_FULL 3 #define DEBUG 4 5 using System; 6 using System.Collections.Generic; 7 using System.Linq; 8 using System.Text; 9 using NUnit.Framework; 10 using System.Diagnostics.Contracts; 11 using MonoTests.System.Diagnostics.Contracts.Helpers; 12 13 namespace MonoTests.System.Diagnostics.Contracts { 14 15 [TestFixture] 16 public class ContractAssumeTest : TestContractBase { 17 18 /// <summary> 19 /// At runtime Contract.Assume() acts just like a Contract.Assert(), except the exact message in the assert 20 /// or exception is slightly different. 21 /// </summary> 22 [Test] 23 //[Ignore ("This causes NUnit crash on .NET 4.0")] TestAssumeMessage()24 public void TestAssumeMessage () 25 { 26 try { 27 Contract.Assume (false); 28 Assert.Fail ("TestAssumeMessage() exception not thrown #1"); 29 } catch (Exception ex) { 30 Assert.AreEqual ("Assumption failed.", ex.Message); 31 } 32 33 try { 34 Contract.Assume (false, "Message"); 35 Assert.Fail ("TestAssumeMessage() exception not thrown #1"); 36 } catch (Exception ex) { 37 Assert.AreEqual ("Assumption failed. Message", ex.Message); 38 } 39 } 40 41 // Identical to Contract.Assert, so no more testing required. 42 43 } 44 45 } 46 47