Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }