Fix Cadenza.Numerics.Tests.MathTests.Default_ThrowsIfCadenzaCoreCannotBeFound().
authorJonathan Pryor <jonpryor@vt.edu>
Mon, 14 Jun 2010 14:45:51 +0000 (10:45 -0400)
committerJonathan Pryor <jonpryor@vt.edu>
Mon, 14 Jun 2010 14:45:51 +0000 (10:45 -0400)
commit1e4cfcfb752ece287decf89f555522faa24a6adf
tree477d6c19abd08196c74a87e8a7d3f68179beb5d7
parente6a984d2588d5ad0a19f9fd4a7626d6b54990188
Fix Cadenza.Numerics.Tests.MathTests.Default_ThrowsIfCadenzaCoreCannotBeFound().

Again.

Hopefully finally.

So... NUnit hates me.  Specifically, this *passes* for me under my Mono and my
.NET environments:

[Test, ExpectedException (typeof (NotSupportedException))]
public void Foo ()
{
throw new InvalidOperationException ("ha!");
}

Obviously, this should fail (exception types don't match).

<<insert lots of head scratching here>>

So, (1) screw [ExpectedException], as that's apparently not working, and
instead use try/catch to "manually" do what [ExpectedException] does.

(2) To allow things to work under .NET, instead of using
AppDomain.DoCallBack(), create a new test type which inherits from
MarshalByRefObject, create an instance of said type within our created
AppDomain, and invoke our test method on the MBRO type.

(1) and (2) pass under Mono & .NET (and, better, (1) alone *fails* under .NET
now so I know that (2) has a higher chance of working).
src/Cadenza/Test/Cadenza.Numerics/MathTest.cs