function runCtrAesTest(
    keyBytes, initialVectorBytes, plainTextBytes, cipherTextBytes) {
  /** @suppress {checkTypes} suppression added to enable type checking */
  const aes = new Aes(keyBytes);
  const ctr = new Ctr(aes);

  const encryptedBytes = ctr.encrypt(plainTextBytes, initialVectorBytes);
  assertEquals(
      'Encrypted bytes should match cipher text.',
      googCrypt.byteArrayToHex(encryptedBytes),
      googCrypt.byteArrayToHex(cipherTextBytes));

  const decryptedBytes = ctr.decrypt(cipherTextBytes, initialVectorBytes);
  assertEquals(
      'Decrypted bytes should match plain text.',
      googCrypt.byteArrayToHex(decryptedBytes),
      googCrypt.byteArrayToHex(plainTextBytes));
}
Asserts the given parameters allow encryption and decryption from and to the
given plaintext/ciphertext.

@param {!Array<number>|!Uint8Array} keyBytes
@param {!Array<number>|!Uint8Array} initialVectorBytes
@param {!Array<number>|!Uint8Array} plainTextBytes
@param {!Array<number>|!Uint8Array} cipherTextBytes