Пример #1
0
        public void CreateInitialFolderAndFilesTest_ProvidedDexterHomePath_CreatesBinDirectoryInDexterHome()
        {
            try
            {
                // Given
                DexterConfig dexterConfig   = new DexterConfig();
                string       dexterHomePath = DexterCSTestUtil.TestingDirectory + @"\" + "DexterHome";
                dexterConfig.DexterHome = dexterHomePath;

                // When
                dexterConfig.CreateInitialFolderAndFiles();

                foreach (string s in Directory.GetDirectories(dexterHomePath))
                {
                    Console.WriteLine(s);
                }

                // Then
                Assert.IsTrue(Directory.GetDirectories(dexterHomePath)
                              .Any(x => new DirectoryInfo(x).Name == "bin"));
            }
            finally
            {
                DexterCSTestUtil.ClearTestingDirectory();
            }
        }
Пример #2
0
        public void IsAnalysisAllowedFileTest_MultipleExtensionsSupported_FileWithNotSupportedExtension_ReturnsFalse()
        {
            // Given
            DexterConfig dexterConfig = new DexterConfig();

            dexterConfig.AddSupportedFileExtensions(new string[] { "c", "cpp", "java" });

            // When
            bool result = dexterConfig.IsFileSupportedForAnalysis("file.cs");

            // Then
            Assert.IsFalse(result);
        }
Пример #3
0
        public void IsAnalysisAllowedFileTest_OneExtensionSupported_FileWithSupportedExtensions_ReturnsTrue()
        {
            // Given
            DexterConfig dexterConfig = new DexterConfig();

            dexterConfig.AddSupportedFileExtensions(new string[] { "cpp" });

            // When
            bool result = dexterConfig.IsFileSupportedForAnalysis("file.cpp");

            // Then
            Assert.IsTrue(result);
        }
Пример #4
0
        public void ChangeDexterHomeTest_SimplePath_ChangesDexterHomePath()
        {
            // Given
            string       dexterHomePath = @"C:\NewDexterHomePath";
            DexterConfig dexterConfig   = new DexterConfig();

            // When
            dexterConfig.ChangeDexterHome(dexterHomePath);

            // Then
            Assert.AreEqual(
                Path.GetFullPath(dexterHomePath),
                Path.GetFullPath(dexterConfig.DexterHome));
        }
Пример #5
0
        public void CreateInitialFolderAndFilesTest_ProvidedDexterHomePath_CreatesNonEmptyDirectory()
        {
            try
            {
                // Given
                DexterConfig dexterConfig   = new DexterConfig();
                string       dexterHomePath = DexterCSTestUtil.TestingDirectory + @"\" + "DexterHome";
                dexterConfig.DexterHome = dexterHomePath;

                // When
                dexterConfig.CreateInitialFolderAndFiles();

                // Then
                Assert.IsTrue(Directory.GetFileSystemEntries(dexterHomePath).Any());
            }
            finally
            {
                DexterCSTestUtil.ClearTestingDirectory();
            }
        }
Пример #6
0
        public IIndexer LoadIndexer(DexterConfig config)
        {
            var type = TypeResolver.ResolveType <IIndexer>(config.Indexer.Type.Assembly, config.Indexer.Type.Type);

            var constructors = type.GetConstructors();

            if (!constructors.Any())
            {
                return((IIndexer)Activator.CreateInstance(type, config.Indexer.Settings));
            }

            var constructor = constructors.FirstOrDefault();

            var parameters = constructor.GetParameters();

            if (!parameters.Any())
            {
                return((IIndexer)Activator.CreateInstance(type, config.Indexer.Settings));
            }

            var typedSettings = config.Indexer.Settings.ToObject(parameters.First().ParameterType);

            return((IIndexer)Activator.CreateInstance(type, typedSettings));
        }
Пример #7
0
 public IndexStrategyResolver(DexterConfig config)
 {
     Config = config;
     PropertyIndexStrategies = new Dictionary <string, IPropertyIndexStrategy>();
     ContentIndexStrategies  = new Dictionary <string, IContentIndexStrategy>();
 }