public void TestInitialise()
        {
            _ClassFactorySnapshot = Factory.TakeSnapshot();

            _PluginManager = Factory.Singleton.Resolve<IPluginManager>();

            _Provider = new Mock<IPluginManagerProvider>() { DefaultValue = DefaultValue.Mock }.SetupAllProperties();
            _Provider.Setup(p => p.ApplicationStartupPath).Returns("x");
            _Provider.Setup(p => p.DirectoryExists(It.IsAny<string>())).Returns(true);
            _Provider.Setup(p => p.DirectoryGetDirectories(It.IsAny<string>())).Returns(new string[] { "subFolder" });
            _PluginManager.Provider = _Provider.Object;

            _Manifest = new PluginManifest();
            _ManifestStorage = TestUtilities.CreateMockImplementation<IPluginManifestStorage>();
            _ManifestStorage.Setup(m => m.LoadForPlugin(It.IsAny<string>())).Returns(_Manifest);

            _ApplicationInformation = TestUtilities.CreateMockImplementation<IApplicationInformation>();

            _Log = TestUtilities.CreateMockSingleton<ILog>();

            Plugin._Reset();
            PluginA._Reset();
            PluginB._Reset();
            PluginC._Reset();
            NotPlugin._Reset();
        }
 public void PluginManifest_Constructor_Initialises_To_Known_State_And_Properties_Work()
 {
     var manifest = new PluginManifest();
     TestUtilities.TestProperty(manifest, "MaximumVersion", null, "1.2.3");
     TestUtilities.TestProperty(manifest, "MinimumVersion", null, "1.2.3");
 }