private static final TestVector[] createTestVectors() throws Exception {
    return new TestVector[] {
      new TestVector(
          FIXED_PRF_KEY,
          PredefinedAeadParameters.AES128_GCM,
          "",
          AesGcmKey.builder()
              .setParameters(PredefinedAeadParameters.AES128_GCM)
              .setIdRequirement(1234)
              .setKeyBytes(secretBytesFromHex("1b73bdf5293cc533d635f263e35913ec"))
              .build()),
      new TestVector(
          FIXED_PRF_KEY,
          PredefinedAeadParameters.AES128_GCM,
          "000102",
          AesGcmKey.builder()
              .setParameters(PredefinedAeadParameters.AES128_GCM)
              .setIdRequirement(1234)
              .setKeyBytes(secretBytesFromHex("94e397d674deda6e965295698491a3fe"))
              .build()),
      new TestVector(
          FIXED_PRF_KEY,
          PredefinedAeadParameters.AES256_GCM,
          "000102",
          AesGcmKey.builder()
              .setParameters(PredefinedAeadParameters.AES256_GCM)
              .setIdRequirement(1234)
              .setKeyBytes(
                  secretBytesFromHex(
                      "94e397d674deda6e965295698491a3feb69838a35f1d48143f3c4cbad90eeb24"))
              .build()),
      new TestVector(
          FIXED_PRF_KEY,
          PredefinedAeadParameters.AES128_CTR_HMAC_SHA256,
          "000102",
          AesCtrHmacAeadKey.builder()
              .setParameters(PredefinedAeadParameters.AES128_CTR_HMAC_SHA256)
              .setIdRequirement(12345)
              .setAesKeyBytes(secretBytesFromHex("94e397d674deda6e965295698491a3fe"))
              .setHmacKeyBytes(
                  secretBytesFromHex(
                      "b69838a35f1d48143f3c4cbad90eeb249c8ddea6d09adc5f89a9a190122b095d"))
              .build()),
      new TestVector(
          FIXED_PRF_KEY,
          AesGcmSivParameters.builder()
              .setKeySizeBytes(16)
              .setVariant(AesGcmSivParameters.Variant.NO_PREFIX)
              .build(),
          "000102",
          AesGcmSivKey.builder()
              .setParameters(
                  AesGcmSivParameters.builder()
                      .setKeySizeBytes(16)
                      .setVariant(AesGcmSivParameters.Variant.NO_PREFIX)
                      .build())
              .setKeyBytes(secretBytesFromHex("94e397d674deda6e965295698491a3fe"))
              .build()),
      new TestVector(
          FIXED_PRF_KEY,
          XChaCha20Poly1305Parameters.create(XChaCha20Poly1305Parameters.Variant.TINK),
          "000102",
          XChaCha20Poly1305Key.create(
              XChaCha20Poly1305Parameters.Variant.TINK,
              secretBytesFromHex(
                  "94e397d674deda6e965295698491a3feb69838a35f1d48143f3c4cbad90eeb24"),
              1234)),
      new TestVector(
          FIXED_PRF_KEY,
          PredefinedDeterministicAeadParameters.AES256_SIV,
          "000102",
          AesSivKey.builder()
              .setParameters(PredefinedDeterministicAeadParameters.AES256_SIV)
              .setIdRequirement(1234)
              .setKeyBytes(
                  secretBytesFromHex(
                      "94e397d674deda6e965295698491a3feb69838a35f1d48143f3c4cbad90eeb24"
                          + "9c8ddea6d09adc5f89a9a190122b095d34e166df93b36f417d63baac78115ac3"))
              .build()),
      new TestVector(
          FIXED_PRF_KEY,
          PredefinedMacParameters.HMAC_SHA256_256BITTAG,
          "000102",
          HmacKey.builder()
              .setParameters(PredefinedMacParameters.HMAC_SHA256_256BITTAG)
              .setIdRequirement(1234)
              .setKeyBytes(
                  secretBytesFromHex(
                      "94e397d674deda6e965295698491a3feb69838a35f1d48143f3c4cbad90eeb24"))
              .build()),
      new TestVector(
          FIXED_PRF_KEY,
          PredefinedPrfParameters.HMAC_SHA256_PRF,
          "000102",
          HmacPrfKey.builder()
              .setParameters(PredefinedPrfParameters.HMAC_SHA256_PRF)
              .setKeyBytes(
                  secretBytesFromHex(
                      "94e397d674deda6e965295698491a3feb69838a35f1d48143f3c4cbad90eeb24"))
              .build()),
      new TestVector(
          FIXED_PRF_KEY,
          PredefinedSignatureParameters.ED25519,
          "000102",
          Ed25519PrivateKey.create(
              Ed25519PublicKey.create(
                  Ed25519Parameters.Variant.TINK,
                  Bytes.copyFrom(
                      Hex.decode(
                          "c9855bf7fcb4f975e61eac19a530d490f276ddcb1908fcf2ca13329981d58bab")),
                  1234),
              secretBytesFromHex(
                  "94e397d674deda6e965295698491a3feb69838a35f1d48143f3c4cbad90eeb24"))),
      new TestVector(
          FIXED_PRF_KEY,
          Ed25519Parameters.create(Ed25519Parameters.Variant.NO_PREFIX),
          "000102",
          Ed25519PrivateKey.create(
              Ed25519PublicKey.create(
                  Ed25519Parameters.Variant.NO_PREFIX,
                  Bytes.copyFrom(
                      Hex.decode(
                          "c9855bf7fcb4f975e61eac19a530d490f276ddcb1908fcf2ca13329981d58bab")),
                  /* idRequirement= */ null),
              secretBytesFromHex(
                  "94e397d674deda6e965295698491a3feb69838a35f1d48143f3c4cbad90eeb24"))),
      new TestVector(
          FIXED_PRF_KEY,
          PredefinedStreamingAeadParameters.AES256_GCM_HKDF_1MB,
          "000102",
          AesGcmHkdfStreamingKey.create(
              PredefinedStreamingAeadParameters.AES256_GCM_HKDF_1MB,
              secretBytesFromHex(
                  "94e397d674deda6e965295698491a3feb69838a35f1d48143f3c4cbad90eeb24"))),
    };
  }
A test vector: if we use prfKey in with derivedKeyParameters and salt Hex.decode(inputHex) we
get expectedKey.

<p>Note that the test vector doesn't specify the derivation key itself. In particular, the
idRequirement of the derivationKey is obtained from the expected key (since it should always be
the same).
java_src/src/test/java/com/google/crypto/tink/keyderivation/internal/KeysetDeriverWrapperTest.java