public void Resx_file_reader_shouldReturnCorrectResxDataNode()
        {
            var mockDict = new Dictionary <string, ResXDataNode>();

            mockDict.Add("Name1", new ResXDataNode("Name1", "Value1")
            {
                Comment = "Comment1"
            });
            mockDict.Add("Name2", new ResXDataNode("Name2", "Value2"));

            Mock <IEntityComparer> mockComparer = new Mock <IEntityComparer>();

            mockComparer.Setup(m => m.CompareEntityListWithObject(new List <Entity>(), new Entity())).Returns(false);

            ResxFileReader csvFileReader = new ResxFileReader(mockComparer.Object);
            var            list          = csvFileReader.ProcessResxResourceFile(mockDict.GetEnumerator(), new List <Entity>());
            var            rX1           = new Entity {
                Name = "Name1", Value = "Value1", Comment = "Comment1"
            };

            Assert.AreEqual(list[0], rX1);
        }
Beispiel #2
0
        /// <summary>
        /// Reades resx files and converts them to custom list
        /// </summary>
        /// <param name="openFileDialog">file dialog for providing file's location</param>
        /// <returns>List with all values from resx file</returns>
        public IEnumerable <Entity> ReadFiles(FileDialog openFileDialog, IEnumerable <Entity> currentEntityInView)
        {
            IEnumerable <Entity> tempList = new List <Entity>();

            DialogResult dr = openFileDialog.ShowDialog();

            if (dr == System.Windows.Forms.DialogResult.OK)
            {
                // Read the files
                foreach (String file in openFileDialog.FileNames)
                {
                    //Check for file extenstions and set proper algorithm for dealing with file
                    switch (System.IO.Path.GetExtension(file))
                    {
                    case ".resx":
                        FileReader = new ResxFileReader(Program.container.GetInstance <IEntityComparer>());
                        break;

                    case ".xml":
                        FileReader = new XmlFileReader(Program.container.GetInstance <IEntityComparer>());
                        break;

                    case ".csv":
                        FileReader = new CsvFileReader(Program.container.GetInstance <IEntityComparer>());
                        break;

                    default:
                        MessageBox.Show("Proszę wskazać plik resx, xml lub csv");
                        return(tempList);
                    }
                    tempList = tempList.Concat(FileReader.Read(file, tempList)).ToList();
                }
            }
            else if (dr == System.Windows.Forms.DialogResult.Cancel)
            {
                return(currentEntityInView);
            }
            return(tempList);
        }