public void MethodExplicitInterfaceImplementation() { var opt = new CodeGenerationOptions(); var iface = SupportTypeBuilder.CreateInterface("MyNamespace.IMyObject", opt); var method = iface.Methods.First(m => m.Name == "GetCountForKey"); var wrapper = new MethodExplicitInterfaceImplementation(iface, method, opt); var expected = @"int MyNamespace.IMyObject.GetCountForKey (string key) { return GetCountForKey (key) }"; Assert.AreEqual(expected, GetOutput(wrapper).Trim()); }
public void MethodExtensionAsyncWrapper_VoidReturnType() { var opt = new CodeGenerationOptions(); var klass = SupportTypeBuilder.CreateClass("MyNamespace.MyObject", opt); var method = klass.Methods.First(m => m.Name == "StaticMethod"); var wrapper = new MethodExtensionAsyncWrapper(method, opt, "OtherObject"); var expected = @"public static global::System.Threading.Tasks.Task StaticMethodAsync (this OtherObject self) { return global::System.Threading.Tasks.Task.Run (() => self.StaticMethod ()); }"; Assert.AreEqual(expected, GetOutput(wrapper).Trim()); }