Beispiel #1
0
        public void Sort_ListWithSameAndDifferentNameLength_SortedByLenghtAndASCII()
        {
            LengthASCIIWordSorter stu   = new LengthASCIIWordSorter();
            IList <Word>          words = new List <Word>();

            words.Add(new Word("quick", 1));
            words.Add(new Word("back", 1));
            words.Add(new Word("the", 1));
            words.Add(new Word("brown", 1));
            words.Add(new Word("dog's", 1));
            words.Add(new Word("lazy", 1));
            words.Add(new Word("jumped", 1));
            words.Add(new Word("The", 1));
            words.Add(new Word("over", 1));
            words.Add(new Word("fox", 1));


            IList <Word> sortedWords = stu.Sort(words);

            Assert.AreEqual("The", sortedWords[0].Name);
            Assert.AreEqual("fox", sortedWords[1].Name);
            Assert.AreEqual("the", sortedWords[2].Name);
            Assert.AreEqual("back", sortedWords[3].Name);
            Assert.AreEqual("lazy", sortedWords[4].Name);
            Assert.AreEqual("over", sortedWords[5].Name);
            Assert.AreEqual("brown", sortedWords[6].Name);
            Assert.AreEqual("dog's", sortedWords[7].Name);
            Assert.AreEqual("quick", sortedWords[8].Name);
            Assert.AreEqual("jumped", sortedWords[9].Name);
        }
Beispiel #2
0
        static void Main(string[] args)
        {
            initializeConfiguration();

            try
            {
                // prepare dependencies (TODO: can be done with a DI container)
                ILogger     logger     = new FileLogger(LogFilePath);
                ITextReader textReader = new FileTextReader();
                IWordSorter wordSorter = new LengthASCIIWordSorter();

                // to output the report to console
                // IReportWriter reportWriter = new ConsoleReportWriter();

                IReportWriter reportWriter = new FileReportWriter(ReportOutputFilePath);

                TextAnalyzerService textAnalyzer = new TextAnalyzerService(textReader, logger);
                IList <Word>        words        = textAnalyzer.Analyze(TextToAnalyzePath);

                TextReportService reportService = new TextReportService(wordSorter, reportWriter, logger);
                reportService.ProduceReport(words, reportConfig);

                Console.WriteLine("Finished.");
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }



            Console.WriteLine("Press any key to exit ...");
            Console.Read();
        }
Beispiel #3
0
        public void Sort_ListWithDifferentNameLength_SortedByLength()
        {
            LengthASCIIWordSorter stu   = new LengthASCIIWordSorter();
            IList <Word>          words = new List <Word>();

            words.Add(new Word("quickedtest", 1));
            words.Add(new Word("the", 1));
            words.Add(new Word("vlado", 1));

            IList <Word> sortedWords = stu.Sort(words);

            Assert.AreEqual("the", sortedWords[0].Name);
            Assert.AreEqual("vlado", sortedWords[1].Name);
            Assert.AreEqual("quickedtest", sortedWords[2].Name);
        }
Beispiel #4
0
        public void Sort_ListWithNullItems_SortsByLenght()
        {
            LengthASCIIWordSorter stu   = new LengthASCIIWordSorter();
            IList <Word>          words = new List <Word>();

            words.Add(new Word(null, 1));
            words.Add(new Word("the", 1));
            words.Add(new Word("vlado", 1));
            words.Add(new Word("   ", 1));
            words.Add(new Word("  ", 2));
            words.Add(new Word(null, 2));

            IList <Word> sortedWords = stu.Sort(words);

            Assert.AreEqual(null, sortedWords[0].Name);
            Assert.AreEqual(null, sortedWords[1].Name);
            Assert.AreEqual("  ", sortedWords[2].Name);
            Assert.AreEqual("   ", sortedWords[3].Name);
            Assert.AreEqual("the", sortedWords[4].Name);
            Assert.AreEqual("vlado", sortedWords[5].Name);
        }