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