public void LoadModuleTypeShouldRaiseTheCorrespondingEvents()
        {
            AggregateCatalog catalog = new AggregateCatalog();
            var newCatalog           = DefaultPrismServiceRegistrar.RegisterRequiredPrismServicesIfMissing(catalog);

            CompositionContainer container = new CompositionContainer(newCatalog);

            container.ComposeExportedValue <AggregateCatalog>(catalog);

            MefFileModuleTypeLoader loader = container.GetExportedValue <MefFileModuleTypeLoader>();
            ModuleInfo info = this.CreateModuleInfo();

            // Flags
            bool progressChangedRaised = false;
            bool completedRaised       = false;

            // We subscribe to the events
            loader.ModuleDownloadProgressChanged += (o, e) => { progressChangedRaised = true; };
            loader.LoadModuleCompleted           += (o, e) => { completedRaised = true; };

            loader.LoadModuleType(info);

            Assert.IsTrue(progressChangedRaised);
            Assert.IsTrue(completedRaised);
        }
        public void CanLoadModulesWithUrlThatHaveFilePrefix()
        {
            MefFileModuleTypeLoader loader = new MefFileModuleTypeLoader();
            ModuleInfo info = this.CreateModuleInfo();

            bool canLoad = loader.CanLoadModuleType(info);

            Assert.IsTrue(canLoad);
        }
        public void CannotLoadModulesWithUrlThatDontHaveFilePrefix()
        {
            MefFileModuleTypeLoader loader = new MefFileModuleTypeLoader();
            ModuleInfo info = this.CreateModuleInfo();

            info.Ref = "MefModulesForTesting.dll";

            bool canLoad = loader.CanLoadModuleType(info);

            Assert.IsFalse(canLoad);
        }