public void GetArguments() { SignatureParser parser = new SignatureParser(); Assert.AreEqual(0, parser.GetArgumentTypes("()I").Length); TypeReference[] types = parser.GetArgumentTypes("(java.lang.Object;)Z"); Assert.AreEqual(1, types.Length); Assert.AreEqual("java.lang.Object", types[0].Type); types = parser.GetArgumentTypes("([java.lang.String;)Ljava.lang.Package;"); Assert.AreEqual("java.lang.String", types[0].Type); Assert.AreEqual(new int[1], types[0].RankSpecifier); types = parser.GetArgumentTypes("(DD)V"); Assert.AreEqual(2, types.Length); Assert.AreEqual("java.lang.Double", types[0].Type); Assert.AreEqual("java.lang.Double", types[1].Type); types = parser.GetArgumentTypes("(II[BI)V"); Assert.AreEqual(4, types.Length); Assert.AreEqual("java.lang.Integer", types[0].Type); Assert.AreEqual("java.lang.Integer", types[1].Type); Assert.AreEqual("java.lang.Byte", types[2].Type); Assert.AreEqual(new int[1], types[2].RankSpecifier); Assert.AreEqual("java.lang.Integer", types[3].Type); }
public void GetReturnType() { SignatureParser parser = new SignatureParser(); TypeReference typeReference = parser.GetReturnType("()I"); Assert.AreEqual("java.lang.Integer", typeReference.Type); Assert.IsNull(typeReference.RankSpecifier); typeReference = parser.GetReturnType("()[B"); Assert.AreEqual("java.lang.Byte", typeReference.Type); Assert.AreEqual(new int[1], typeReference.RankSpecifier); Assert.AreEqual("java.lang.Boolean", parser.GetReturnType("(Ljava.lang.Object;)Z").Type); typeReference = parser.GetReturnType("(C)Ljava.lang.Character$UnicodeBlock;"); Assert.AreEqual("java.lang.Character.UnicodeBlock", typeReference.Type); typeReference = parser.GetReturnType("(Ljava.lang.String;)Ljava.lang.Package;"); Assert.AreEqual("java.lang.Package", typeReference.Type); typeReference = parser.GetReturnType("()[Ljava.lang.Package;"); Assert.AreEqual("java.lang.Package", typeReference.Type); Assert.AreEqual(new int[1], typeReference.RankSpecifier); }