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); }
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); }
public void IfAddMethodIsCalledTwiceWithTheSameNameAnExceptionShouldBeenThrown() { var builder = new InterfaceBuilder(InterfaceName); builder.AddMethod <string>(FunctionName, new ParameterItem[] { }).AddMethod <string>(FunctionName, new ParameterItem[] { }).GetDeclaration(); }