Exemplo n.º 1
0
        public void IfAddMethodIsCalledShouldAddNewFunctionWithGivenName()
        {
            var builder = new InterfaceBuilder(InterfaceName);
            var target  = builder.AddMethod <string>(FunctionName, new ParameterItem[] { }).GetDeclaration();

            Assert.AreEqual(1, target.Members.Count);
            var member = target.Members[0];

            Assert.AreEqual(FunctionName, member.Name);
        }
Exemplo n.º 2
0
        protected override void Generate(
            CodeWriter writer,
            OperationDescriptor descriptor,
            out string fileName,
            out string?path)
        {
            fileName = descriptor.InterfaceType.Name;
            path     = null;

            InterfaceBuilder interfaceBuilder = InterfaceBuilder
                                                .New()
                                                .SetComment(
                XmlCommentBuilder
                .New()
                .SetSummary(
                    string.Format(
                        CodeGenerationResources.OperationServiceDescriptor_Description,
                        descriptor.Name))
                .AddCode(descriptor.BodyString))
                                                .AddImplements(TypeNames.IOperationRequestFactory)
                                                .SetName(fileName);

            var runtimeTypeName =
                descriptor.ResultTypeReference.GetRuntimeType().Name;

            if (descriptor is not SubscriptionOperationDescriptor)
            {
                interfaceBuilder.AddMethod(CreateExecuteMethod(descriptor, runtimeTypeName));
            }

            interfaceBuilder.AddMethod(CreateWatchMethod(descriptor, runtimeTypeName));

            CodeFileBuilder
            .New()
            .SetNamespace(descriptor.RuntimeType.NamespaceWithoutGlobal)
            .AddType(interfaceBuilder)
            .Build(writer);
        }
Exemplo n.º 3
0
        public void IfAddMethodIsCalledTwiceWithTheSameNameAnExceptionShouldBeenThrown()
        {
            var builder = new InterfaceBuilder(InterfaceName);

            builder.AddMethod <string>(FunctionName, new ParameterItem[] { }).AddMethod <string>(FunctionName, new ParameterItem[] { }).GetDeclaration();
        }