public void GenerateAndStore(List <Type> concreteTypeList) { var ret = new StringBuilder(); AppendHeader(ret, concreteTypeList); AppendBody(ret, concreteTypeList); AppendFooter(ret); MemoryDiskHelper.CreateTextFileForce(_path, ret.ToString()); }
public void GenerateAndStore(List <GenInfo> infoList) { var ret = new StringBuilder(); AppendHeader(ret, infoList); AppendBody(ret, infoList); AppendFooter(ret); var path = $"{_filePath}"; MemoryDiskHelper.CreateTextFileForce(path, ret.ToString()); }
public void Gen(bool genSpy) { var baseTestPath = $"{_testProjPath}\\_IocSpy"; var baseTestNs = $"{_testProjDefaultNs}._IocSpy"; foreach (var proj in _csProjInfoList) { var baseProjPath = $"{proj.Path}\\_Ioc"; var projName = proj.DefaultNs.Split('.').Last(); MemoryDiskHelper.CreateDirIfNotExists(baseProjPath); var genInfoList = IocHelperMethods.GetGenInfoList(proj.Asembly); var iocInfoList = genInfoList.Where(i => i.LifeTime != null).ToList(); var iocNs = $"{proj.DefaultNs}._Ioc"; new IocConfigGenerator($"{baseProjPath}\\IocConfigGen.cs", iocNs) .GenerateAndStore(iocInfoList); new IocTypesGenerator($"{baseProjPath}\\IocTypesGen.cs", iocNs) .GenerateAndStore(iocInfoList.Select(i => i.Concrete).ToList()); if (genSpy) { var spiesDir = $"{baseTestPath}\\{projName}\\SpiesGen"; var spiesNs = $"{baseTestNs}.{projName}.SpiesGen"; MemoryDiskHelper.CreateDirIfNotExists(spiesDir); var extractor = new Extractor(genInfoList); var generator = new SpyGenerator(spiesDir, spiesNs); MemoryDiskHelper.EmptyDirRecursive(spiesDir); var spyInfoList = extractor.Extract(); foreach (var info in spyInfoList) { generator.GenerateAndStore(info); } new SpyIocConfigGenerator( $"{baseTestPath}\\{projName}\\SpyIocConfigGen.cs", $"{baseTestNs}.{projName}", spiesNs, iocNs ).GenerateAndStore(iocInfoList); } } }
public void GenerateAndStore(SpyGenInfo info) { var ret = new StringBuilder(); AppendHeader(ret, info); AppendProps(ret, info.MethodInfos.OfType <PropInfo>().ToList()); AppendMethods(ret, info.MethodInfos.OfType <MethodInfo>().ToList()); AppendFooter(ret); var path = $"{_destDir}\\{info.FileName}.cs"; MemoryDiskHelper.CreateTextFileForce(path, ret.ToString()); }