Esempio n. 1
0
        static void Main(string[] args)
        {
            string      FileNamePathToWrite;
            ILogger     logger       = LogFactory.CreatLogger();
            IMessage    errorMessage = MessageFactory.CreatMessage(Message.MessageType.Error);
            IDisplay    display;
            NamesFile   file;
            List <Name> names;

            try
            {
                //
                //Get file name/path from app.config
                //
                FileNamePathToWrite = ConfigurationManager.AppSettings["FileNamePathToWrite"];

                //
                //create screen display object from the factory
                //
                display = DisplayFactory.CreatDisplay();

                //
                //get file name and path for reading names from command parameter; file name and path for writing names to is set by program
                //
                file = FileInfoValidator.GetFile(args, FileNamePathToWrite);

                //
                //only proceed further if file is available
                //
                if (file != null)
                {
                    //
                    // get list of name object by reading
                    //
                    names = ReadNamesHelper.ReadNamesFromStorage(file);

                    //
                    //do sorting on names
                    //
                    names = NameSorter.Sort(names);

                    //
                    //writing sorted names to a storage
                    //
                    WriteNamesHelper.WriteNamesToStorage(file, names);


                    //
                    //display sorted name list on screen
                    //
                    display.DisplayName(names);
                }
            }
            catch (Exception ex)
            {
                logger.Log(ex.Message);
                errorMessage.DisplayMessage(ex.Message);
            }
        }
Esempio n. 2
0
        public void TestNameSorter()
        {
            string  input             = "unsorted-names-list.txt";
            string  output            = "Test-ouput.txt";
            ISorter GlobalXNameSorter = new NameSorter(input, output);

            GlobalXNameSorter.Sort();
        }
Esempio n. 3
0
        public void Sort_NamesShouldSort()
        {
            //
            //names for testing
            //
            Name name1 = new Name("John", "Smith");
            Name name2 = new Name("Jake Jackson", "Lee");
            Name name3 = new Name("Rob", "Smyth");
            Name name4 = new Name("Angela", "Nash");


            //
            //unsorted name list
            //
            List <Name> unsorted = new List <Name>();

            unsorted.Add(name1);
            unsorted.Add(name2);
            unsorted.Add(name3);
            unsorted.Add(name4);


            //
            //expected name list
            //
            List <Name> expected = new List <Name>();

            expected.Add(name2);
            expected.Add(name4);
            expected.Add(name1);
            expected.Add(name3);


            //
            //actual sorted name list
            //
            List <Name> actual = NameSorter.Sort(unsorted);

            //
            //Assert
            //
            Assert.Equal(expected[0].FirstName, actual[0].FirstName);
            Assert.Equal(expected[0].LastName, actual[0].LastName);

            Assert.Equal(expected[1].FirstName, actual[1].FirstName);
            Assert.Equal(expected[1].LastName, actual[1].LastName);

            Assert.Equal(expected[2].FirstName, actual[2].FirstName);
            Assert.Equal(expected[2].LastName, actual[2].LastName);

            Assert.Equal(expected[3].FirstName, actual[3].FirstName);
            Assert.Equal(expected[3].LastName, actual[3].LastName);

            //Assert.Equal(expected, actual);
        }
Esempio n. 4
0
        static void Main(string[] args)
        {
            IDataProvider dataProvider = new HardcodedDataProvider();
            IDataSorter dataSorter = new NameSorter();

            var data = dataProvider.GetPeople();
            var sortedData = dataSorter.Sort(data);

            foreach (var item in sortedData)
            {
                Console.WriteLine($"{item.name} {item.LastName} {item.Position});
        public void TestSorterWithSameLastNames()
        {
            // Arrange
            List <Name> input = new List <Name>();

            input.Add(new Name("Yuzuru Nishimiya"));
            input.Add(new Name("Shouko Nishimiya"));
            List <Name> expected = new List <Name>();

            expected.Add(new Name("Shouko Nishimiya"));
            expected.Add(new Name("Yuzuru Nishimiya"));
            // Act
            List <Name> actual = NameSorter.Sort(input);

            // Assert
            Assert.Equal(expected, actual);
        }
        public void TestSorterWithUniqueNames()
        {
            // Arrange
            List <Name> input = new List <Name>();

            input.Add(new Name("Janet Parsons"));
            input.Add(new Name("Beau Tristan Bentley"));
            input.Add(new Name("Hunter Uriah Mathew Clarke"));
            List <Name> expected = new List <Name>();

            expected.Add(new Name("Beau Tristan Bentley"));
            expected.Add(new Name("Hunter Uriah Mathew Clarke"));
            expected.Add(new Name("Janet Parsons"));
            // Act
            List <Name> actual = NameSorter.Sort(input);

            // Assert
            Assert.Equal(expected, actual);
        }
        public void NameSorter_ShouldWork()
        {
            //
            //names for testing
            //
            Name name1 = new Name("John", "Smith");
            Name name2 = new Name("Jake Jackson", "Lee");
            Name name3 = new Name("Rob", "Smyth");
            Name name4 = new Name("Angela", "Nash");


            //
            //unsorted name list
            //
            List <Name> unsorted = new List <Name>();

            unsorted.Add(name1);
            unsorted.Add(name2);
            unsorted.Add(name3);
            unsorted.Add(name4);


            //
            //expected sorted name list
            //
            List <Name> expected = new List <Name>();

            expected.Add(name2);
            expected.Add(name4);
            expected.Add(name1);
            expected.Add(name3);


            //
            //actual sorted name list
            //
            List <Name> actual = NameSorter.Sort(unsorted);

            //
            //Assert
            //
            Assert.Equal(expected, actual);
        }
Esempio n. 8
0
        // Main: Used to demonstrate usage of IFileProcessor & INameSorter functions
        private static void Main(string[] args)
        {
            // 1st argument is taken in as directory param
            string directory = args[0];

            // Initializes FileProcessor & NameSorter
            IFileProcessor processor = new FileProcessor(directory);
            INameSorter    sorter    = new NameSorter();

            // Finds filename from given directory, reads file & map to NameModel
            IEnumerable <NameModel> nameList = processor.ReadFile(FileName.SOURCE);

            // Performs sorting on name list
            IEnumerable <NameModel> sortedList = sorter.Sort(nameList);

            // Writes to console
            processor.WriteToConsole(sortedList);

            // Writes to file
            processor.WriteToFile(sortedList, FileName.DESTINATION);
        }