Add test case with primitive set without primary primitive.

PiperOrigin-RevId: 460382061
Change-Id: I5980d18299a11a54f3789e006a33a8b9c9eedc9e
diff --git a/src/test/java/com/google/crypto/tink/signature/PublicKeyVerifyWrapperTest.java b/src/test/java/com/google/crypto/tink/signature/PublicKeyVerifyWrapperTest.java
index 189bb1e..08e25b6 100644
--- a/src/test/java/com/google/crypto/tink/signature/PublicKeyVerifyWrapperTest.java
+++ b/src/test/java/com/google/crypto/tink/signature/PublicKeyVerifyWrapperTest.java
@@ -312,6 +312,31 @@
     verifier.verify(sig2, data);
   }
 
+  @Theory
+  public void noPrimary_verifyWorks() throws Exception {
+    PublicKeySign signer =
+        new PublicKeySignWrapper()
+            .wrap(
+                TestUtil.createPrimitiveSet(
+                    TestUtil.createKeyset(
+                        getPrivateKey(ecdsaPrivateKey, /*keyId=*/ 123, OutputPrefixType.TINK)),
+                    PublicKeySign.class));
+    byte[] data = "data".getBytes(UTF_8);
+    byte[] sig = signer.sign(data);
+
+    Key publicKey =
+        getPublicKey(ecdsaPrivateKey.getPublicKey(), /*keyId=*/ 123, OutputPrefixType.TINK);
+    PublicKeyVerify verify = Registry.getPrimitive(publicKey.getKeyData(), PublicKeyVerify.class);
+    PrimitiveSet<PublicKeyVerify> verifyPrimitivesWithoutPrimary =
+        PrimitiveSet.newBuilder(PublicKeyVerify.class)
+            .addPrimitive(verify, publicKey)
+            .build();
+    PublicKeyVerify wrappedVerifier =
+        new PublicKeyVerifyWrapper().wrap(verifyPrimitivesWithoutPrimary);
+
+    wrappedVerifier.verify(sig, data);
+  }
+
   @DataPoints("nonRawOutputPrefixType")
   public static final OutputPrefixType[] NON_RAW_OUTPUT_PREFIX_TYPES =
       new OutputPrefixType[] {