public void GivenRelativeAbiFilePathInProject() { //given var factory = new GeneratorConfigurationFactory(); var context = new ProjectTestContext(this.GetType().Name, MethodBase.GetCurrentMethod().Name); try { context.CreateProject(); context.WriteFileToProject("solidity\\StandardContract.abi", TestContracts.StandardContract.ABI); context.WriteFileToProject("solidity\\StandardContract.bin", TestContracts.StandardContract.ByteCode); var generatorConfig = new GeneratorConfiguration { ABIConfigurations = new List <ABIConfiguration> { new ABIConfiguration { ContractName = "StandardContractA", ABIFile = "solidity\\StandardContract.abi" } } }; generatorConfig.SaveToJson(context.TargetProjectFolder); //when var config = factory.FromProject(context.TargetProjectFolder, context.OutputAssemblyName); //then Assert.Equal(1, config?.ABIConfigurations?.Count); var abiConfig = config.ABIConfigurations.First(); Assert.NotNull(abiConfig); Assert.Equal(CodeGenLanguage.CSharp, abiConfig.CodeGenLanguage); Assert.Equal("StandardContractA", abiConfig.ContractName); Assert.Equal(TestContracts.StandardContract.ABI, abiConfig.ABI); Assert.Equal(TestContracts.StandardContract.ByteCode, abiConfig.ByteCode); Assert.Equal(context.TargetProjectFolder, abiConfig.BaseOutputPath); Assert.Equal(Path.GetFileNameWithoutExtension(context.OutputAssemblyName), abiConfig.BaseNamespace); Assert.Equal("StandardContractA.CQS", abiConfig.CQSNamespace); Assert.Equal("StandardContractA.DTO", abiConfig.DTONamespace); Assert.Equal("StandardContractA.Service", abiConfig.ServiceNamespace); } finally { context.CleanUp(); } }
public static void CreateTestGeneratorConfigFile(string outputFilePath) { var config = new GeneratorConfiguration { ABIConfigurations = new List <ABIConfiguration> { new ABIConfiguration { ContractName = "StandardContract", ABIFile = "StandardContract.abi", BinFile = "StandardContract.bin" } } }; config.SaveToJson(outputFilePath); }