1*e7b1675dSTing-Kang Chang // Copyright 2017 Google Inc.
2*e7b1675dSTing-Kang Chang //
3*e7b1675dSTing-Kang Chang // Licensed under the Apache License, Version 2.0 (the "License");
4*e7b1675dSTing-Kang Chang // you may not use this file except in compliance with the License.
5*e7b1675dSTing-Kang Chang // You may obtain a copy of the License at
6*e7b1675dSTing-Kang Chang //
7*e7b1675dSTing-Kang Chang // http://www.apache.org/licenses/LICENSE-2.0
8*e7b1675dSTing-Kang Chang //
9*e7b1675dSTing-Kang Chang // Unless required by applicable law or agreed to in writing, software
10*e7b1675dSTing-Kang Chang // distributed under the License is distributed on an "AS IS" BASIS,
11*e7b1675dSTing-Kang Chang // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*e7b1675dSTing-Kang Chang // See the License for the specific language governing permissions and
13*e7b1675dSTing-Kang Chang // limitations under the License.
14*e7b1675dSTing-Kang Chang //
15*e7b1675dSTing-Kang Chang ////////////////////////////////////////////////////////////////////////////////
16*e7b1675dSTing-Kang Chang
17*e7b1675dSTing-Kang Chang #include "tink/subtle/common_enums.h"
18*e7b1675dSTing-Kang Chang #include "gtest/gtest.h"
19*e7b1675dSTing-Kang Chang
20*e7b1675dSTing-Kang Chang namespace crypto {
21*e7b1675dSTing-Kang Chang namespace tink {
22*e7b1675dSTing-Kang Chang namespace subtle {
23*e7b1675dSTing-Kang Chang namespace {
24*e7b1675dSTing-Kang Chang
25*e7b1675dSTing-Kang Chang class CommonEnumsTest : public ::testing::Test {};
26*e7b1675dSTing-Kang Chang
TEST_F(CommonEnumsTest,testEllipticCurveTypeToString)27*e7b1675dSTing-Kang Chang TEST_F(CommonEnumsTest, testEllipticCurveTypeToString) {
28*e7b1675dSTing-Kang Chang EXPECT_EQ("NIST_P256", EnumToString(EllipticCurveType::NIST_P256));
29*e7b1675dSTing-Kang Chang EXPECT_EQ("NIST_P384", EnumToString(EllipticCurveType::NIST_P384));
30*e7b1675dSTing-Kang Chang EXPECT_EQ("NIST_P521", EnumToString(EllipticCurveType::NIST_P521));
31*e7b1675dSTing-Kang Chang EXPECT_EQ("UNKNOWN_CURVE", EnumToString(EllipticCurveType::UNKNOWN_CURVE));
32*e7b1675dSTing-Kang Chang EXPECT_EQ("UNKNOWN_CURVE: 42", EnumToString((EllipticCurveType)42));
33*e7b1675dSTing-Kang Chang }
34*e7b1675dSTing-Kang Chang
TEST_F(CommonEnumsTest,testHashTypeToString)35*e7b1675dSTing-Kang Chang TEST_F(CommonEnumsTest, testHashTypeToString) {
36*e7b1675dSTing-Kang Chang EXPECT_EQ("SHA1", EnumToString(HashType::SHA1));
37*e7b1675dSTing-Kang Chang EXPECT_EQ("SHA224", EnumToString(HashType::SHA224));
38*e7b1675dSTing-Kang Chang EXPECT_EQ("SHA256", EnumToString(HashType::SHA256));
39*e7b1675dSTing-Kang Chang EXPECT_EQ("SHA384", EnumToString(HashType::SHA384));
40*e7b1675dSTing-Kang Chang EXPECT_EQ("SHA512", EnumToString(HashType::SHA512));
41*e7b1675dSTing-Kang Chang EXPECT_EQ("UNKNOWN_HASH", EnumToString(HashType::UNKNOWN_HASH));
42*e7b1675dSTing-Kang Chang EXPECT_EQ("UNKNOWN_HASH: 42", EnumToString((HashType)42));
43*e7b1675dSTing-Kang Chang }
44*e7b1675dSTing-Kang Chang
TEST_F(CommonEnumsTest,testEcPointFormatToString)45*e7b1675dSTing-Kang Chang TEST_F(CommonEnumsTest, testEcPointFormatToString) {
46*e7b1675dSTing-Kang Chang EXPECT_EQ("UNCOMPRESSED", EnumToString(EcPointFormat::UNCOMPRESSED));
47*e7b1675dSTing-Kang Chang EXPECT_EQ("COMPRESSED", EnumToString(EcPointFormat::COMPRESSED));
48*e7b1675dSTing-Kang Chang EXPECT_EQ("DO_NOT_USE_CRUNCHY_UNCOMPRESSED",
49*e7b1675dSTing-Kang Chang EnumToString(EcPointFormat::DO_NOT_USE_CRUNCHY_UNCOMPRESSED));
50*e7b1675dSTing-Kang Chang
51*e7b1675dSTing-Kang Chang EXPECT_EQ("UNKNOWN_FORMAT", EnumToString(EcPointFormat::UNKNOWN_FORMAT));
52*e7b1675dSTing-Kang Chang EXPECT_EQ("UNKNOWN_FORMAT: 42", EnumToString((EcPointFormat)42));
53*e7b1675dSTing-Kang Chang }
54*e7b1675dSTing-Kang Chang
55*e7b1675dSTing-Kang Chang } // namespace
56*e7b1675dSTing-Kang Chang } // namespace subtle
57*e7b1675dSTing-Kang Chang } // namespace tink
58*e7b1675dSTing-Kang Chang } // namespace crypto
59