Пример #1
0
        public void WritetoFile_FirstAndLastName_Ordered_ShouldSucceed()
        {
            var directoryInfo = Directory.GetParent(Directory.GetCurrentDirectory()).Parent;

            if (directoryInfo == null)
            {
                return;
            }
            if (directoryInfo.Parent == null)
            {
                return;
            }

            // read the csv data file
            string                   filename       = Path.Combine(directoryInfo.Parent.FullName, "Data\\data.csv");
            List <Row>               rows           = FileProcessor.ReadFile(filename);
            List <Person>            person         = PersonProcessor.GetPersonList(rows);
            Dictionary <string, int> orderFirstname = PersonProcessor.PersonsFirstNameFrequency(person);
            Dictionary <string, int> orderLastName  = PersonProcessor.PersonsLastNameFrequency(person);

            //Process the data before writing it to a text file
            List <Row> rowList = new List <Row>();

            rowList.Add(new Row()
            {
                LineText = "Ordered FirstName"
            });
            rowList.AddRange(orderFirstname.Select(first => new Row()
            {
                LineText = first.Key + ", " + first.Value
            }));
            rowList.Add(new Row()
            {
                LineText = "Ordered LastName"
            });
            rowList.AddRange(orderLastName.Select(last => new Row()
            {
                LineText = last.Key + ", " + last.Value
            }));

            string writeFileName = Path.Combine(directoryInfo.Parent.FullName, "Data\\Names.txt");

            // check and delete file first before creating a new file
            if (File.Exists(writeFileName))
            {
                File.Delete(writeFileName);
            }
            FileProcessor.WriteFile(writeFileName, rowList);

            bool fileExist = File.Exists(writeFileName);

            Assert.IsTrue(fileExist);
        }
Пример #2
0
        public void GetPersonLastNameFrequency_ShouldSucceed()
        {
            var directoryInfo = Directory.GetParent(Directory.GetCurrentDirectory()).Parent;

            if (directoryInfo == null)
            {
                return;
            }
            if (directoryInfo.Parent == null)
            {
                return;
            }

            // read the csv data file
            string     filename = Path.Combine(directoryInfo.Parent.FullName, "Data\\data.csv");
            List <Row> rows     = FileProcessor.ReadFile(filename);

            //Process the data
            List <Person>            person          = PersonProcessor.GetPersonList(rows);
            Dictionary <string, int> orderDictionary = PersonProcessor.PersonsLastNameFrequency(person);

            Assert.AreEqual(4, orderDictionary.Count);
        }