コード例 #1
0
    public void OutputStrategy_Returns_Expected()
    {
        var mockFileWriter = Substitute.For <IFileWriter>();
        var fileWriter     = mockFileWriter;
        var strategies     = new List <IFileCreator> {
            new CreateSnippet(fileWriter), new CreateProject(fileWriter)
        };
        var config = Substitute.For <IGeneratorConfiguration>();

        config.OutputPath.Returns(Path.GetTempPath());
        var snippet = new Snippet("MySnippet", "My Content " + Guid.NewGuid().ToString("N"));

        var outputStrategy = new OutputStrategy(strategies);

        outputStrategy.Create(snippet, path: config.OutputPath);
    }
コード例 #2
0
ファイル: FunctionTests.cs プロジェクト: Allann/OurPresence
        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);
        }
コード例 #3
0
ファイル: CodeFileBase.cs プロジェクト: rhale78/ExpressRecipe
 public void Write()
 {
     OutputStrategy.Write(this);
 }
コード例 #4
0
ファイル: CodeFileBase.cs プロジェクト: rhale78/ExpressRecipe
 public Boolean Exists()
 {
     return(OutputStrategy.Exists(this));
 }
コード例 #5
0
ファイル: CodeFileBase.cs プロジェクト: rhale78/ExpressRecipe
 public string Contents()
 {
     return(OutputStrategy.Contents(this));
 }