Example #1
0
        /// <summary>
        /// Write the list of name to storage
        /// </summary>
        /// <param name="file">file name and path</param>
        /// <param name="names">list of name object</param>
        public static void WriteNamesToStorage(NamesFile file, List <Name> names)
        {
            string namesString;

            //
            //create storage and message object from the factory
            //
            IStorage storage       = StorageFactory.CreatStorage(file);
            IMessage promptMessage = MessageFactory.CreatMessage(Message.MessageType.Prompt);


            //
            //convert list of name object to a string
            //
            namesString = NamesStringConverter.ConvertNamesToString(names);

            //
            //write names string to storage
            //
            storage.WriteData(namesString);

            //
            //give user a message of writing completion at the end
            //
            promptMessage.DisplayMessage("Writing data to " + file.WriteFilePath + " is completed");
        }
Example #2
0
        /// <summary>
        /// Help read data from a storage; convert data into list of name object
        /// </summary>
        /// <param name="file">storage file</param>
        /// <returns></returns>
        public static List <Name> ReadNamesFromStorage(NamesFile file)
        {
            string      namesString;
            List <Name> names;

            //
            //create storage and message object from the respective factories
            //
            IStorage storage       = StorageFactory.CreatStorage(file);
            IMessage promptMessage = MessageFactory.CreatMessage(Message.MessageType.Prompt);

            //
            //read name list into a string from a storage
            //
            namesString = storage.ReadData();

            //
            //make a list of name object from the names in string
            //
            names = NamesStringConverter.ConvertStringToNames(namesString);


            //
            //give a reading completion message on screen
            //
            promptMessage.DisplayMessage("Reading data from " + file.ReadFilePath + " is completed");

            return(names);
        }
Example #3
0
        /// <summary>
        /// Help read data from a storage; convert data into list of name object
        /// </summary>
        /// <param name="file">storage file</param>
        /// <returns></returns>
        public List <Name> ReadNamesFromStorage()
        {
            string      namesString;
            List <Name> names;

            //
            //read name list into a string from a storage
            //
            namesString = storage.ReadData();

            //
            //make a list of name object from the names in string
            //
            names = NamesStringConverter.ConvertStringToNames(namesString);

            return(names);
        }
        public void StringToNamesConversion_ShouldWork()
        {
            //
            //sample names in string
            //
            string nameInString = "John Smith" + "|" + "Jake Jackson Lee" + "|" + "Rob Smyth" + "|" + "Angela Nash" + "|";

            //
            //expected list of name object
            //
            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");

            List <Name> expected = new List <Name>();

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

            //
            //actual names in string
            //
            List <Name> actual = NamesStringConverter.ConvertStringToNames(nameInString);

            //
            //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);
        }
        public void NamesToStringConversion_ShouldWork()
        {
            //
            //list of sample name object
            //
            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");

            List <Name> names = new List <Name>();

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

            //
            //expected names in string
            //

            string expected = "John Smith" + Environment.NewLine +
                              "Jake Jackson Lee" + Environment.NewLine +
                              "Rob Smyth" + Environment.NewLine +
                              "Angela Nash" + Environment.NewLine;

            //
            //actual names in string
            //
            string actual = NamesStringConverter.ConvertNamesToString(names);

            //
            //Assert
            //
            Assert.Equal(expected, actual);
        }