private CodeGenerator PrepareForRecommendationTask()
        {
            (Pipeline pipeline,
             ColumnInferenceResults columnInference) = GetMockedRecommendationPipelineAndInference();

            var consoleCodeGen = new CodeGenerator(pipeline, columnInference, CreateCodeGeneratorSettingsFor(TaskKind.Recommendation));

            return(consoleCodeGen);
        }
        public void ConsoleAppModelBuilderCSFileContentRankingTest()
        {
            (Pipeline pipeline,
             ColumnInferenceResults columnInference) = GetMockedRankingPipelineAndInference();

            var consoleCodeGen = new CodeGenerator(pipeline, columnInference, CreateCodeGeneratorSettingsFor(TaskKind.Ranking));
            var result         = consoleCodeGen.GenerateConsoleAppProjectContents(_namespaceValue, typeof(float), true, true,
                                                                                  false, false, false, false);

            Approvals.Verify(result.modelBuilderCSFileContent);
        }
        public void ConsoleAppProjectFileContentTest()
        {
            (Pipeline pipeline,
             ColumnInferenceResults columnInference) = GetMockedBinaryPipelineAndInference();

            var consoleCodeGen = new CodeGenerator(pipeline, columnInference, CreateCodeGeneratorSettingsFor(TaskKind.BinaryClassification));
            var result         = consoleCodeGen.GenerateConsoleAppProjectContents(_namespaceValue, typeof(float), true, true,
                                                                                  false, false, false, false);

            Approvals.Verify(result.ConsoleAppProjectFileContent);
        }
        private (string ConsoleAppProgramCSFileContent, string ConsoleAppProjectFileContent, string modelBuilderCSFileContent) GenerateConsoleAppProjectContentsForRecommendation()
        {
            CodeGenerator consoleCodeGen = PrepareForRecommendationTask();

            return(consoleCodeGen.GenerateConsoleAppProjectContents(
                       _namespaceValue,
                       labelTypeCsharp: typeof(float),
                       includeLightGbmPackage: false,
                       includeMklComponentsPackage: false,
                       includeFastTreePackage: false,
                       includeImageTransformerPackage: false,
                       includeImageClassificationPackage: false,
                       includeRecommenderPackage: true));
        }