public void TestSelectorSignatureForMethodsWithReturn()
{
MethodInfo methodInfo;
methodInfo = typeof (TestClassForMethodWithReturnType).GetMethod("DoWithReturn", Type.EmptyTypes);
Assert.IsNotNull(methodInfo, "Method cannot be null");
Assert.AreEqual("DoWithReturn", ObjectiveCEncoding.GetSelector(methodInfo), "Selector string don't match");
methodInfo = typeof (TestClassForMethodWithReturnType).GetMethod("DoWithReturn", new[] {typeof (bool)});
Assert.IsNotNull(methodInfo, "Method cannot be null");
Assert.AreEqual("DoWithReturnWithValue:", ObjectiveCEncoding.GetSelector(methodInfo), "Selector string don't match");
methodInfo = typeof (TestClassForMethodWithReturnType).GetMethod("DoWithReturn", new[] {typeof (char)});
Assert.IsNotNull(methodInfo, "Method cannot be null");
Assert.AreEqual("DoWithReturnWithValue:", ObjectiveCEncoding.GetSelector(methodInfo), "Selector string don't match");
methodInfo = typeof (TestClassForMethodWithReturnType).GetMethod("DoWithReturn", new[] {typeof (short)});
Assert.IsNotNull(methodInfo, "Method cannot be null");
Assert.AreEqual("DoWithReturnWithValue:", ObjectiveCEncoding.GetSelector(methodInfo), "Selector string don't match");
methodInfo = typeof (TestClassForMethodWithReturnType).GetMethod("DoWithReturn", new[] {typeof (int)});
Assert.IsNotNull(methodInfo, "Method cannot be null");
Assert.AreEqual("DoWithReturnWithValue:", ObjectiveCEncoding.GetSelector(methodInfo), "Selector string don't match");
methodInfo = typeof (TestClassForMethodWithReturnType).GetMethod("DoWithReturn", new[] {typeof (long)});
Assert.IsNotNull(methodInfo, "Method cannot be null");
Assert.AreEqual("DoWithReturnWithValue:", ObjectiveCEncoding.GetSelector(methodInfo), "Selector string don't match");
methodInfo = typeof (TestClassForMethodWithReturnType).GetMethod("DoWithReturn", new[] {typeof (float)});
Assert.IsNotNull(methodInfo, "Method cannot be null");
Assert.AreEqual("DoWithReturnWithValue:", ObjectiveCEncoding.GetSelector(methodInfo), "Selector string don't match");
methodInfo = typeof (TestClassForMethodWithReturnType).GetMethod("DoWithReturn", new[] {typeof (double)});
Assert.IsNotNull(methodInfo, "Method cannot be null");
Assert.AreEqual("DoWithReturnWithValue:", ObjectiveCEncoding.GetSelector(methodInfo), "Selector string don't match");
}