Add tests for Subject APIs

Bug: 119393918
Bug: 182164686
Test: atest CtsLibcoreTestCases:libcore.javax.security.auth.SubjectTest
Change-Id: If9463debf9655e1940cc48a514d534ffddaf37f1
(cherry picked from commit 4170c86f10c3c93ebe9da9bf2e6b0b15eaa89ad9)
Merged-In: If9463debf9655e1940cc48a514d534ffddaf37f1
diff --git a/luni/src/test/java/libcore/javax/security/auth/SubjectTest.java b/luni/src/test/java/libcore/javax/security/auth/SubjectTest.java
index 26efed7..0af23fc 100644
--- a/luni/src/test/java/libcore/javax/security/auth/SubjectTest.java
+++ b/luni/src/test/java/libcore/javax/security/auth/SubjectTest.java
@@ -27,6 +27,7 @@
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.runners.JUnit4;
+import sun.security.x509.X500Name;
 
 /**
  * Android does not support {@link java.lang.SecurityManager} and has its implementations stubbed.
@@ -49,16 +50,31 @@
     @Test
     public void getPrincipals() {
         assertEquals(set, subject.getPrincipals());
+
+        assertEquals(set, subject.getPrincipals(PrincipalImpl.class));
+        assertEquals(set, subject.getPrincipals(Principal.class));
+        // PrincipalImpl is not a subclass of X500Name.
+        assertEquals(0, subject.getPrincipals(X500Name.class).size());
     }
 
     @Test
     public void getPrivateCredentials() {
         assertEquals(set, subject.getPrivateCredentials());
+
+        assertEquals(set, subject.getPrivateCredentials(PrincipalImpl.class));
+        assertEquals(set, subject.getPrivateCredentials(Principal.class));
+        // PrincipalImpl is not a subclass of X500Name.
+        assertEquals(0, subject.getPrivateCredentials(X500Name.class).size());
     }
 
     @Test
     public void getPublicCredentials() {
         assertEquals(set, subject.getPublicCredentials());
+
+        assertEquals(set, subject.getPublicCredentials(PrincipalImpl.class));
+        assertEquals(set, subject.getPublicCredentials(Principal.class));
+        // PrincipalImpl is not a subclass of X500Name.
+        assertEquals(0, subject.getPublicCredentials(X500Name.class).size());
     }
 
     @Test