* InheritanceDemand

notused.cs	StrongNameIdentityPermission on unused class, members ...

cas1.cs		StrongNameIdentityPermission on abstract class
cas2.cs		StrongNameIdentityPermission on virtual method
cas3.cs		StrongNameIdentityPermission on interface member

The cas#.cs tests are compiled two times. The first time (a) they aren't 
strongnamed (and not even delay-signed) using the cas.snk keypair. The second
time (b) they are strongnamed using cas.snk.

noncas1.cs	Non CAS (PrincipalPermission) on class (failure)
noncas2.cs	Non CAS (PrincipalPermission) on class (success)
noncas3.cs	Non CAS (PrincipalPermission) on method (failure)
noncas4.cs	Non CAS (PrincipalPermission) on method (success)

refload1.cs	Load assembly library1a (success)
refload2.cs	Load assembly library1b (success)
refload3.cs	Load assembly library2a (success)
refload4.cs	Load assembly library2b (success)
reftype1.cs	Load assembly library1a and access it's types
reftype2.cs	Load assembly library1b and access it's types
reftype3.cs	Load assembly library2a and access it's types
reftype4.cs	Load assembly library2b and access it's types
library1.cs	Inheritance (StrongName) on a class
library2.cs	Inheritance (StrongName) on a method

The library#.cs assemblies are compiled two times. The first time (a) they 
aren't strongnamed (and not even delay-signed) using the cas.snk keypair. The
second time (b) it is strongnamed using cas.snk.


Notes

* Inheritance checks are done at load time so SecurityException are mostly
  uncatchable (unhandled) - except when reflection is being used.

* Changing SecurityManager.SecurityEnabled has _NO_ effect on 
  InheritanceDemand, even for classes that aren't yet loaded.
