示例#1
0
 public TestPluginCacheTests()
 {
     // Reset the singleton.
     TestPluginCache.Instance = null;
     this.mockFileHelper      = new Mock <IFileHelper>();
     this.testablePluginCache = new TestableTestPluginCache(this.mockFileHelper.Object);
 }
示例#2
0
        public void GetDefaultResolutionPathsShouldReturnAdditionalExtensionPathsDirectories()
        {
            var currentDirectory   = Path.GetDirectoryName(typeof(TestPluginCache).GetTypeInfo().Assembly.Location);
            var candidateDirectory = Directory.GetParent(currentDirectory).FullName;
            var extensionPaths     = new List <string> {
                Path.Combine(candidateDirectory, "foo.dll")
            };

            // Setup mocks.
            var mockFileHelper = new Mock <IFileHelper>();

            mockFileHelper.Setup(fh => fh.DirectoryExists(It.IsAny <string>())).Returns(false);
            var testableTestPluginCache = new TestableTestPluginCache(mockFileHelper.Object);

            TestPluginCache.Instance = testableTestPluginCache;

            TestPluginCache.Instance.UpdateAdditionalExtensions(extensionPaths, true);
            var resolutionPaths = TestPluginCache.Instance.GetDefaultResolutionPaths();

            var expectedExtensions = new List <string> {
                candidateDirectory, currentDirectory
            };

            Assert.IsNotNull(resolutionPaths);
            CollectionAssert.AreEqual(expectedExtensions, resolutionPaths.ToList());
        }
示例#3
0
        public TestPluginCacheTests()
        {
            // Reset the singleton.
            TestPluginCache.Instance = null;
            this.mockFileHelper      = new Mock <IFileHelper>();
            this.testablePluginCache = new TestableTestPluginCache(this.mockFileHelper.Object);

            this.mockFileHelper.Setup(fh => fh.DirectoryExists(It.IsAny <string>())).Returns(true);
        }
示例#4
0
        public static void SetupMockExtensions(string[] extensions, Action callback)
        {
            // Setup mocks.
            var mockFileHelper          = new Mock <IFileHelper>();
            var testableTestPluginCache = new TestableTestPluginCache(mockFileHelper.Object);

            testableTestPluginCache.DefaultExtensionPaths = extensions;

            // Setup the testable instance.
            TestPluginCache.Instance = testableTestPluginCache;
        }
示例#5
0
        public TestPluginCacheTests()
        {
            // Reset the singleton.
            TestPluginCache.Instance = null;
            this.mockFileHelper      = new Mock <IFileHelper>();
            this.testablePluginCache = new TestableTestPluginCache(new List <string> {
                typeof(TestPluginCacheTests).GetTypeInfo().Assembly.Location
            });

            this.mockFileHelper.Setup(fh => fh.DirectoryExists(It.IsAny <string>())).Returns(true);
        }
示例#6
0
        public static TestableTestPluginCache SetupMockAdditionalPathExtensions(string[] extensions)
        {
            var mockFileHelper  = new Mock <IFileHelper>();
            var testPluginCache = new TestableTestPluginCache(mockFileHelper.Object);

            TestPluginCache.Instance = testPluginCache;

            // Stub the default extensions folder.
            mockFileHelper.Setup(fh => fh.DirectoryExists(It.IsAny <string>())).Returns(false);

            TestPluginCache.Instance.UpdateAdditionalExtensions(extensions, true);

            return(testPluginCache);
        }
示例#7
0
        public static void SetupMockExtensions(string[] extensions, Action callback)
        {
            // Setup mocks.
            var mockFileHelper          = new Mock <IFileHelper>();
            var testableTestPluginCache = new TestableTestPluginCache(mockFileHelper.Object);

            mockFileHelper.Setup(fh => fh.DirectoryExists(It.IsAny <string>())).Returns(true);
            mockFileHelper.Setup(fh => fh.EnumerateFiles(It.IsAny <string>(), ".*.dll", SearchOption.TopDirectoryOnly))
            .Callback(callback)
            .Returns(extensions);

            // Setup the testable instance.
            TestPluginCache.Instance = testableTestPluginCache;
        }
示例#8
0
        public static void SetupMockExtensions(string[] extensions, Action callback, Mock <IFileHelper> mockFileHelper = null)
        {
            // Setup mocks.
            if (mockFileHelper == null)
            {
                mockFileHelper = new Mock <IFileHelper>();
            }

            mockFileHelper.Setup(fh => fh.DirectoryExists(It.IsAny <string>())).Returns(true);

            var testableTestPluginCache = new TestableTestPluginCache(extensions.ToList());

            testableTestPluginCache.Action = callback;

            // Setup the testable instance.
            TestPluginCache.Instance = testableTestPluginCache;
        }