public void ParseName2() { string name = "com.good.gd.ndkproxy.auth.GDFingerprintAuthenticationManager.a<com.good.gd.ndkproxy.auth.c.a>.b<com.good.gd.ndkproxy.auth.d.a>"; var tn = JavaTypeName.Parse(name); Assert.IsTrue(tn.GenericParent != null, "result has generic parent"); Assert.AreEqual("b", tn.DottedName, "result name mismatch"); Assert.AreEqual("com.good.gd.ndkproxy.auth.GDFingerprintAuthenticationManager.a.b", tn.FullNameNonGeneric, "failed to parse name"); Assert.AreEqual(1, tn.GenericArguments.Count, "result genparams count mismatch"); Assert.AreEqual("com.good.gd.ndkproxy.auth.d.a", tn.GenericArguments [0].FullNameNonGeneric, "result genarg name mismatch"); var p = tn.GenericParent; Assert.AreEqual(1, p.GenericArguments.Count, "top genparams count"); var ga1 = p.GenericArguments [0]; Assert.AreEqual("com.good.gd.ndkproxy.auth.c.a", ga1.FullNameNonGeneric, "top genarg name mismatch"); }
public void ParseName() { var tn = JavaTypeName.Parse("java.util.Function<java.util.Map.Entry<K, V>, ? extends U>"); Assert.AreEqual("java.util.Function", tn.FullNameNonGeneric, "top failed to parse name"); Assert.AreEqual(2, tn.GenericArguments.Count, "top incorrect number of parsed generic arguments"); var ga1 = tn.GenericArguments [0]; Assert.AreEqual("java.util.Map.Entry", ga1.FullNameNonGeneric, "genarg#0 name mismatch"); Assert.AreEqual(2, ga1.GenericArguments.Count, "genarg#0 incorrect number of parsed generic arguments"); Assert.AreEqual("K", ga1.GenericArguments [0].FullNameNonGeneric, "genarg#0.1 name mismatch"); Assert.AreEqual("V", ga1.GenericArguments [1].FullNameNonGeneric, "genarg#0.2 name mismatch"); var ga2 = tn.GenericArguments [1]; Assert.AreEqual("?", ga2.FullNameNonGeneric, "genarg#1 name mismatch"); Assert.AreEqual(" extends ", ga2.BoundsType, "genarg#1 incorrect bounds type"); Assert.AreEqual(1, ga2.GenericConstraints.Count, "genarg#1 incorrect number of parsed generic constraints"); Assert.AreEqual("U", ga2.GenericConstraints [0].FullNameNonGeneric, "genarg#1.1 constraint name mismatch"); }