/// <summary>
        ///     Parse CSV file under a given path into list of objects
        /// </summary>
        /// <typeparam name="T">type of class containing public properties in the same order as in csv file</typeparam>
        /// <param name="fileName">path of the file to load</param>
        /// <returns></returns>
        private List <T> ReadCsv <T>(string fileName)
        {
            List <T> entries;

            using (var reader = _fileReader.OpenTextReader(fileName))
            {
                var csv = new CsvReader(reader, new Configuration
                {
                    Delimiter       = "^",
                    Quote           = '~',
                    HasHeaderRecord = false
                });
                entries = csv.GetRecords <T>().ToList();
            }

            return(entries);
        }