public void LoadAssemblyReturnsICSharpCoreTestsAssemblyForUnknownAssemblyName()
        {
            DerivedRuntime runtime        = new DerivedRuntime(":ICSharpCode.SharpDevelop", String.Empty);
            Assembly       loadedAssembly = runtime.CallLoadAssembly("Unknown");

            string expectedLoadedAssemblyName = "ICSharpCode.Core.Tests.dll";

            Assert.AreEqual(expectedLoadedAssemblyName, loadedAssembly.ManifestModule.ToString());
        }
        public void LoadAssemblyReturnsKnownAssemblyFromAssemblyNamesCollection()
        {
            DerivedRuntime runtime = new DerivedRuntime(":ICSharpCode.SharpDevelop", String.Empty);

            runtime.AssemblyNames.Add("ICSharpCode.SharpDevelop", typeof(string).Assembly);
            Assembly loadedAssembly = runtime.CallLoadAssembly("ICSharpCode.SharpDevelop");

            string expectedLoadedAssemblyName = "CommonLanguageRuntimeLibrary";

            Assert.AreEqual(expectedLoadedAssemblyName, loadedAssembly.ManifestModule.ToString());
        }
        public void LoadAssemblyThrowsPredefinedException()
        {
            DerivedRuntime       runtime           = new DerivedRuntime(":ICSharpCode.SharpDevelop", String.Empty);
            ApplicationException expectedException = new ApplicationException("Test");

            runtime.LoadAssemblyExceptionToThrow = expectedException;

            ApplicationException ex = Assert.Throws <ApplicationException>(delegate { runtime.CallLoadAssembly("test"); });

            Assert.AreEqual("Test", ex.Message);
        }