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(); } }
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); }