public static AssemblyModel MapUp(BaseAssemblyModel model) { AssemblyModel assemblyModel = new AssemblyModel(); Type type = model.GetType(); assemblyModel.Name = model.Name; PropertyInfo namespaceModelsProperty = type.GetProperty("NamespaceModels", BindingFlags.Instance | BindingFlags.Public | BindingFlags.DeclaredOnly); List <BaseNamespaceModel> namespaceModels = (List <BaseNamespaceModel>)HelperClass.ConvertList(typeof(BaseNamespaceModel), (IList)namespaceModelsProperty?.GetValue(model)); if (namespaceModels != null) { assemblyModel.NamespaceModels = namespaceModels.Select(n => new NamespaceModelMapper().MapUp(n)).ToList(); } return(assemblyModel); }
public void CheckAmountOfNamespaces() { Reflector reflector = new Reflector(reflectorPath); XMLSerializer xmlSerialization = new XMLSerializer(); xmlSerialization.Save(AssemblyModelMapper.MapDown(reflector.AssemblyModel, assemblyModel.GetType()), path); AssemblyModel model = AssemblyModelMapper.MapUp(xmlSerialization.Read(path)); Assert.AreEqual(3, model.NamespaceModels.Count); }