public void With_Single_Messages_File_Generated_Code_Builds(CodeGenLanguage codeGenLanguage)
        {
            //given
            var context = new ProjectTestContext(BaseName,
                                                 $"{MethodBase.GetCurrentMethod().Name}{codeGenLanguage}");

            try
            {
                context.CreateProject(codeGenLanguage, new[]
                {
                    new Tuple <string, string>("Nethereum.Web3", Constants.NethereumWeb3Version)
                });

                var contractMetaData = TestContracts.StandardContract;
                var contractABI      = new GeneratorModelABIDeserialiser().DeserialiseABI(contractMetaData.ABI);

                //when
                var contractProjectGenerator = new ContractProjectGenerator(
                    contractABI,
                    "StandardContract",
                    contractMetaData.ByteCode,
                    context.ProjectName,
                    "StandardContract.Service",
                    "StandardContract.CQS",
                    "StandardContract.DTO",
                    context.TargetProjectFolder,
                    Path.DirectorySeparatorChar.ToString(),
                    codeGenLanguage)
                {
                    AddRootNamespaceOnVbProjectsToImportStatements = true,
                };

                var generatedFiles = contractProjectGenerator.GenerateAllMessagesFileAndService();
                GeneratedFileWriter.WriteFilesToDisk(generatedFiles);
                context.BuildProject();

                //then
                Assert.True(context.BuildHasSucceeded());
            }
            finally
            {
                context.CleanUp();
            }
        }
Ejemplo n.º 2
0
        private void GenerateFilesForItem(ABIConfiguration item, bool singleFile = true)
        {
            var generator = new ContractProjectGenerator(
                item.CreateContractABI(),
                item.ContractName,
                item.ByteCode,
                item.BaseNamespace,
                item.ServiceNamespace,
                item.CQSNamespace,
                item.DTONamespace,
                item.BaseOutputPath,
                Path.DirectorySeparatorChar.ToString(),
                item.CodeGenLanguage
                );

            var generatedFiles = singleFile ? generator.GenerateAllMessagesFileAndService() : generator.GenerateAll();

            _generatedFileWriter.WriteFiles(generatedFiles);
        }