Ejemplo n.º 1
0
        public void Execute()
        {
            var file = File.ReadAllText(_options.FileName);

            var frequencyCalculator = new FrequencyCalculator();

            var frequencies = frequencyCalculator.GetFrequencies(file);

            _tree.Build(frequencies);

            _visualisation = File.ReadAllText("Supporting Files\\Template.html");

            _visualisation = _visualisation.Replace("{document}", Path.GetFileNameWithoutExtension(_options.FileName));

            _visualisation = _visualisation.Replace("{css}", File.ReadAllText("Supporting Files\\Styles.css"));

            _visualisation = _visualisation.Replace("{nodes}", $"<ul>{ProcessNode(_tree.Root)}</ul>");

            var tempFile = Path.GetTempFileName().Replace(".tmp", ".html");

            File.WriteAllText(tempFile, _visualisation);

            Process.Start(new ProcessStartInfo
            {
                FileName        = tempFile,
                UseShellExecute = true
            });

            if (!string.IsNullOrWhiteSpace(_options.OutputFileName))
            {
                File.WriteAllText(_options.OutputFileName, _visualisation);
            }
        }
Ejemplo n.º 2
0
        public void CalculateWordFrequenceTest(Uri uri, int top)
        {
            var fc = new FrequencyCalculator();
            var f  = fc.CalculateWordFrequency(uri, top).ToList();

            Assert.IsNotNull(f);
        }
Ejemplo n.º 3
0
        public void CalculateWordPairFrequencyTest(Uri uri, int top)
        {
            var fc = new FrequencyCalculator();
            var f  = fc.CalculateWordPairFrequency(uri, top).ToList();

            Assert.Greater(f.Count, 0);
        }
Ejemplo n.º 4
0
        public void DayOne_B()
        {
            var input  = File.ReadAllText(".\\Content\\Day01.txt");
            var answer = FrequencyCalculator.GetDuplicateFrequency(input);

            answer.Should().Be(655);
        }
Ejemplo n.º 5
0
        public void DayOne_A()
        {
            var input  = File.ReadAllText(".\\Content\\Day01.txt");
            var answer = FrequencyCalculator.CalculateFinalFrequency(input);

            answer.Should().Be(437);
        }
        private void BackgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
        {
            var startTime  = DateTime.Now;
            var fc         = new FrequencyCalculator();
            var depth      = Convert.ToByte(numericUpDown1.Value);
            var downloader = new Downloader(depth);
            var t          = downloader.GetTextFromUrlAsync(link);

            while (t.Status == TaskStatus.Running || t.Status == TaskStatus.WaitingForActivation)
            {
                var progress = Math.Round((90.0f * downloader.PresentLevel) / depth);
                if (progress >= 90)
                {
                    progress = 89;
                }
                backgroundWorker1.ReportProgress(Convert.ToInt32(progress));
                Thread.Sleep(1000);
            }
            var content = t.Result;

            //var content = new Downloader(depth).GetTextFromUrl(link);
            backgroundWorker1.ReportProgress(90, content);
            IEnumerable <PhraseFrequency> res;

            if (e.Argument.ToString() == "1")
            {
                res = fc.CalculateWordFrequency(content, 10);
            }
            else
            {
                res = fc.CalculateWordPairFrequency(content, 10);
            }
            backgroundWorker1.ReportProgress(95, res);
            backgroundWorker1.ReportProgress(100, DateTime.Now.Subtract(startTime).TotalSeconds);
        }
        public void TestFrequenciesOfWordsProperlyCalculated()
        {
            var calculator = new FrequencyCalculator(maxWordLength);
            IDictionary <string, long> actualFrequencies = calculator.CalculateFrequencies(testData);

            foreach (KeyValuePair <string, long> frequencyPair in actualFrequencies)
            {
                Assert.IsTrue(expectedFrequencies.ContainsKey(frequencyPair.Key));
                Assert.AreEqual(expectedFrequencies[frequencyPair.Key], frequencyPair.Value);
            }
        }
Ejemplo n.º 8
0
        public override void Run(string part)
        {
            var fileText = FileReader.ReadFile(2018, 1);

            var parser = new FrequencyCalculator(fileText);

            if (part == "A")
            {
                Console.WriteLine(parser.ParseFile());
            }
            else if (part == "B")
            {
                Console.WriteLine(parser.FindFirstRepeatingFreq());
            }
        }
Ejemplo n.º 9
0
        public void Test2(string input, int expectedAnswer)
        {
            var answer = FrequencyCalculator.GetDuplicateFrequency(input);

            answer.Should().Be(expectedAnswer);
        }
Ejemplo n.º 10
0
        public void Test1(string input, int expectedAnswer)
        {
            var answer = FrequencyCalculator.CalculateFinalFrequency(input);

            answer.Should().Be(expectedAnswer);
        }