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());
        }