2 * Copyright (C) 2005-2018 Team Kodi
3 * This file is part of Kodi - https://kodi.tv
5 * SPDX-License-Identifier: GPL-2.0-or-later
6 * See LICENSES/README.md for more information.
9 #include "utils/Crc32.h"
11 #include <gtest/gtest.h>
13 static const char refdata
[] = "abcdefghijklmnopqrstuvwxyz"
14 "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
15 "01234567890!@#$%^&*()";
17 TEST(TestCrc32
, Compute_1
)
21 a
.Compute(refdata
, sizeof(refdata
) - 1);
23 EXPECT_EQ(0xa4eb60e3, varcrc
);
26 TEST(TestCrc32
, Compute_2
)
29 std::string s
= refdata
;
30 varcrc
= Crc32::Compute(s
);
31 EXPECT_EQ(0xa4eb60e3, varcrc
);
34 TEST(TestCrc32
, ComputeFromLowerCase
)
36 std::string s
= refdata
;
37 uint32_t varcrc
= Crc32::ComputeFromLowerCase(s
);
38 EXPECT_EQ((uint32_t)0x7f045b3e, varcrc
);
41 TEST(TestCrc32
, Reset
)
45 std::string s
= refdata
;
46 a
.Compute(s
.c_str(), s
.length());
49 EXPECT_EQ(0xffffffff, varcrc
);