public void Conversion() { var dicToObjMappingInfos = new List<DictionaryItemToObjectMappingInfo>() { new DictionaryItemToObjectMappingInfo() { Key = "person name", PropertyName = "Name", FromStringMapping = st => st, ToStringMapping = ob => (string)ob }, new DictionaryItemToObjectMappingInfo() { Key = "how old", PropertyName = "Age", FromStringMapping = st => Convert.ToInt32(st), ToStringMapping = num => num.ToString() } }; var headersList = new List<string>() { "city", "person name", "country", "how old" }; var colToObjMappingInfos = new MappingInfoConverter().Convert(dicToObjMappingInfos, headersList).ToList(); Assert.AreEqual(1, colToObjMappingInfos[0].Index); Assert.AreEqual(3, colToObjMappingInfos[1].Index); }
public void MapObjectToCollection() { var colToObjMappingInfos = new MappingInfoConverter().Convert(dicToObjMappingInfos, headers).ToList(); Person p1 = new Person() { Name = "Xuan", Age = 25 }; var mapper = new CollectionToFromObjectMapper<Person>(colToObjMappingInfos); var collection = mapper.Map(p1); Assert.AreEqual(p1.Name, collection); Assert.AreEqual(25, p1.Age); }
public void MapCollectionToObject() { var colToObjMappingInfos = new MappingInfoConverter().Convert(dicToObjMappingInfos, headers).ToList(); var collection = new List<string>() { "Xixón", "Xuan", "Asturies", "25" }; var mapper = new CollectionToFromObjectMapper<Person>(colToObjMappingInfos); Person p1 = mapper.Map(collection); Assert.AreEqual("Xuan", p1.Name); Assert.AreEqual(25, p1.Age); }
public void ReadConvertAndMap() { var dicToObjMappingInfos = new List<DictionaryItemToObjectMappingInfo>() { new DictionaryItemToObjectMappingInfo() { Key = "person name", PropertyName = "Name", FromStringMapping = st => st, ToStringMapping = ob => (string)ob }, new DictionaryItemToObjectMappingInfo() { Key = "how old", PropertyName = "Age", FromStringMapping = st => Convert.ToInt32(st), ToStringMapping = num => num.ToString() } }; var dirSep = System.IO.Path.DirectorySeparatorChar; //var filePath = FileHelper.GetProgramFolder() + @"..\..\..\TestData\ReadAndMapTsv.txt"; var filePath = FileHelper.GetProgramFolder() + (".." + dirSep).Multiply(3) + "TestData" + dirSep + "ReadAndMapTsv.txt"; var dao = new AdvancedDsvDao(filePath, '\t', true); var headersList = dao.GetHeaders(); var colToObjMappingInfos = new MappingInfoConverter().Convert(dicToObjMappingInfos, headersList).ToList(); Assert.AreEqual(0, colToObjMappingInfos[0].Index); Assert.AreEqual(3, colToObjMappingInfos[1].Index); //the "real life" usage would go on like this: var mapper = new CollectionToFromObjectMapper<Person>(colToObjMappingInfos); var people = dao.GetDataEntries() .Select(personRow => mapper.Map(personRow)) .ToList(); Assert.AreEqual(people[0].Name, "Johan"); Assert.AreEqual(people[0].Age, 34); Assert.AreEqual(people[1].Name, "Xose"); Assert.AreEqual(people[1].Age, 36); }