public async Task Package() { using TempFile tf = new TempFile(); File.WriteAllText(tf.File.FullName, JsonConvert.SerializeObject(new Package <string>("a"))); PackageFileLoaderPool <string> pool = new PackageFileLoaderPool <string>(); PackageFileLoader <string> loader = pool.Get(tf.File); Assert.AreEqual("a", (await loader.GetData())?.Data); Assert.AreSame(loader, pool.Get(tf.File)); }
public async Task Package() { using TempFile tf = new TempFile(); PackageFileLoader <string> loader = new PackageFileLoader <string>(tf.File); Assert.IsNull(await loader.GetData()); File.WriteAllText(tf.File.FullName, JsonConvert.SerializeObject(new Package <string>("a"))); Assert.AreEqual("a", (await loader.GetData())?.Data); await loader.Save(new Package <string>("b")); Assert.AreEqual("b", (await loader.GetData())?.Data); }
public void Builder_Real_Test() { var config = new GeneratorConfiguration { GeneratorName = "NetCore3Solution", LocalFolder = "F:\\Repos\\Modeller.SampleGenerators\\src\\Generators", Target = "net5.0", OutputPath = "f:\\dev\\test\\members", SourceModel = "f:\\repos\\modeller.samplegenerators\\src\\members_model.json" }; var logger = new Mock <ILogger <IPackageService> >(); var loggerContext = new Mock <ILogger <IContext> >(); var settingLoader = new JsonSettingsLoader(); var moduleLoader = new JsonModuleLoader(); var generatorLoader = new GeneratorLoader(); var packageLoader = new PackageFileLoader(); var packageService = new PackageService(packageLoader, logger.Object); var context = new Context(settingLoader, moduleLoader, generatorLoader, packageService, loggerContext.Object); var loggerCG = new Mock <ILogger <ICodeGenerator> >(); var loggerFW = new Mock <ILogger <FileWriter> >(); var loggerB = new Mock <ILogger <IBuilder> >(); var codeGenerator = new CodeGenerator(loggerCG.Object); var fileWriter = new FileWriter(loggerFW.Object); var fc1 = new CreateFile(fileWriter); var fc2 = new CreateFileGroup(fileWriter); var fc3 = new CreateProject(fileWriter); var fc4 = new CreateSnippet(fileWriter); var fc5 = new CreateSolution(fileWriter); var list = new List <IFileCreator> { fc1, fc2, fc3, fc4, fc5 }; var outputStrategy = new OutputStrategy(list); var builder = new Builder(context, codeGenerator, outputStrategy, loggerB.Object); builder.Create(config); }