예제 #1
0
        private static void Main(string[] args)
        {
            var config = ConfigurationFactory.Build(args);

            Console.Write("Searching for files...");
            var parser      = new FolderParser(new DirectoryEnumerator());
            var sourceFiles = parser.Files(config.Input.Sources.First()).ToList();

            Console.WriteLine("[Done]");

            var extractor  = BuildWordExtractor(config.Input);
            var fileReader = new FileReader();

            var words = new Dictionary <string, int>();

            var sourceFileContents = sourceFiles.Select(sourceFile => fileReader.Read(sourceFile));
            var sourceFileWords    = sourceFileContents.AsParallel().Select(text => extractor.Extract(text));

            Console.Write($"Extracting words from {sourceFiles.Count} source files...");
            foreach (var wordsInFile in sourceFileWords)
            {
                words.Merge(wordsInFile);
            }

            Console.WriteLine("[Done]");

            var baseName = Path.Combine(config.Output.TargetPath, "noiseMap");

            GenerateCsv(config.Output.Csv, words, baseName);
            GenerateImage(config.Output.Image, words, baseName, config.Output.Seed);
        }
        public void DefaultShouldContainCorrectCsvValues()
        {
            // Arrange
            var configuration = ConfigurationFactory.Build(new string[0]);
            var sut           = configuration.Output.Csv;

            // Act & Assert
            Assert.True(sut.IsEnabled);
        }
        public void DefaultShouldContainCorrectOutputValues()
        {
            // Arrange
            var configuration = ConfigurationFactory.Build(new string[0]);
            var sut           = configuration.Output;

            // Act & Assert
            Assert.Equal(Directory.GetCurrentDirectory(), sut.TargetPath);
            Assert.Equal("noisemap", sut.TargetName);
        }
            public void ShouldThrowWhenConfigFileWasNotFound()
            {
                // Arrange
                var args = new[] { "config=file.name" };

                // Act
                var ex = Record.Exception(() => ConfigurationFactory.Build(args));

                // Assert
                Assert.IsType <FileNotFoundException>(ex);
            }
        public LimonetikCallerService(HttpClient client, ILimonetikConfiguration configuration)
        {
            var runtimeConfiguration = ConfigurationFactory.Build(configuration);

            client.BaseAddress = runtimeConfiguration.Url;
            client.DefaultRequestHeaders.Add("Accept", "application/json");
            var byteArray = Encoding.ASCII.GetBytes($"{runtimeConfiguration.Login}{runtimeConfiguration.Key}");

            client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(byteArray));
            Client = client;
        }
        public void DefaultShouldContainCorrectInputValues()
        {
            // Arrange
            var configuration = ConfigurationFactory.Build(new string[0]);
            var sut           = configuration.Input;

            // Act & Assert
            Assert.Equal(new[] { "microsoft", "system", "var" }, sut.Blacklist.OrderBy(x => x).ToArray());
            Assert.Empty(sut.Sources);
            Assert.Equal(2, sut.MinWordLength);
            Assert.False(sut.KeepComments);
            Assert.False(sut.KeepStrings);
            Assert.False(sut.KeepNamespaces);
        }
        public void DefaultShouldContainCorrectImageValues()
        {
            // Arrange
            var configuration = ConfigurationFactory.Build(new string[0]);
            var sut           = configuration.Output.Image;

            // Act & Assert
            Assert.True(sut.IsEnabled);
            Assert.Equal(10, sut.MinimumFontSize);
            Assert.Equal(250, sut.Compactness);
            Assert.Equal(1024, sut.Height);
            Assert.Equal(1024, sut.Width);
            Assert.Equal("Tahoma", sut.Font);
        }