static FunctionCQSMessageGenerator CreateGenerator()
        {
            var functionAbi = new FunctionABI("BaseStats", constant: true)
            {
                InputParameters  = new[] { new ParameterABI("uint256", "_number") },
                OutputParameters = new[] { new ParameterABI("uint256") }
            };

            return(new FunctionCQSMessageGenerator(functionAbi, "DefaultNamespace", "FunctionOutput", CodeGenLanguage.CSharp));
        }
        public void GeneratesExpectedFileContent()
        {
            var expectedContent = ExpectedContentRepository.Get("CSharp", "FunctionCQSMessage01.csharp.txt");

            var functionAbi = new FunctionABI("BaseStats", constant: true)
            {
                InputParameters  = new[] { new ParameterABI("uint256", "_number") },
                OutputParameters = new[] { new ParameterABI("uint256") }
            };

            var generator   = new FunctionCQSMessageGenerator(functionAbi, "DefaultNamespace", "FunctionOutput");
            var fileContent = generator.GenerateFileContent();

            Assert.Equal(expectedContent, fileContent);
        }
Exemple #3
0
        public static string GetFunctionTypeNameBasedOnOverloads(this FunctionABI functionAbi)
        {
            var functionsWithSameName = functionAbi.ContractAbi.GetAllFunctionsWithSameName(functionAbi.Name);

            if (functionsWithSameName.Count == 1)
            {
                return(functionAbi.Name);
            }

            var orderedList = functionsWithSameName.OrderBy(x => x.InputParameters.Length).ToArray();

            for (var i = 0; i < orderedList.Count(); i++)
            {
                if (orderedList[i] == functionAbi)
                {
                    if (i > 0)
                    {
                        return(functionAbi.Name + i.ToString());
                    }
                }
            }
            //should never get here..
            return(functionAbi.Name);
        }