#include "crypto/symmetric_key.h"
#include <memory>
#include <string>
#include "base/strings/string_number_conversions.h"
#include "base/strings/string_util.h"
#include "testing/gtest/include/gtest/gtest.h"
TEST(SymmetricKeyTest, GenerateRandomKey) { … }
TEST(SymmetricKeyTest, ImportGeneratedKey) { … }
TEST(SymmetricKeyTest, ImportDerivedKey) { … }
struct PBKDF2TestVector { … };
struct ScryptTestVector { … };
class SymmetricKeyDeriveKeyFromPasswordUsingPbkdf2Test
: public testing::TestWithParam<PBKDF2TestVector> { … };
class SymmetricKeyDeriveKeyFromPasswordUsingScryptTest
: public testing::TestWithParam<ScryptTestVector> { … };
TEST_P(SymmetricKeyDeriveKeyFromPasswordUsingPbkdf2Test,
DeriveKeyFromPasswordUsingPbkdf2) { … }
TEST_P(SymmetricKeyDeriveKeyFromPasswordUsingScryptTest,
DeriveKeyFromPasswordUsingScrypt) { … }
static const PBKDF2TestVector kTestVectorsPbkdf2[] = …;
static const ScryptTestVector kTestVectorsScrypt[] = …;
INSTANTIATE_TEST_SUITE_P(…);
INSTANTIATE_TEST_SUITE_P(…);