xref: /aosp_15_r20/external/angle/src/common/hash_utils_unittest.cpp (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
1*8975f5c5SAndroid Build Coastguard Worker //
2*8975f5c5SAndroid Build Coastguard Worker // Copyright 2018 The ANGLE Project Authors. All rights reserved.
3*8975f5c5SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be
4*8975f5c5SAndroid Build Coastguard Worker // found in the LICENSE file.
5*8975f5c5SAndroid Build Coastguard Worker //
6*8975f5c5SAndroid Build Coastguard Worker // hash_utils_unittest: Hashing helper functions tests.
7*8975f5c5SAndroid Build Coastguard Worker 
8*8975f5c5SAndroid Build Coastguard Worker #include <gtest/gtest.h>
9*8975f5c5SAndroid Build Coastguard Worker 
10*8975f5c5SAndroid Build Coastguard Worker #include "common/hash_utils.h"
11*8975f5c5SAndroid Build Coastguard Worker 
12*8975f5c5SAndroid Build Coastguard Worker using namespace angle;
13*8975f5c5SAndroid Build Coastguard Worker 
14*8975f5c5SAndroid Build Coastguard Worker namespace
15*8975f5c5SAndroid Build Coastguard Worker {
16*8975f5c5SAndroid Build Coastguard Worker // Basic functionality test.
TEST(HashUtilsTest,ComputeGenericHash)17*8975f5c5SAndroid Build Coastguard Worker TEST(HashUtilsTest, ComputeGenericHash)
18*8975f5c5SAndroid Build Coastguard Worker {
19*8975f5c5SAndroid Build Coastguard Worker     std::string a = "aSimpleString!!!";
20*8975f5c5SAndroid Build Coastguard Worker     std::string b = "anotherString???";
21*8975f5c5SAndroid Build Coastguard Worker 
22*8975f5c5SAndroid Build Coastguard Worker     // Requires a string size aligned to 4 bytes.
23*8975f5c5SAndroid Build Coastguard Worker     ASSERT_TRUE(a.size() % 4 == 0);
24*8975f5c5SAndroid Build Coastguard Worker     ASSERT_TRUE(b.size() % 4 == 0);
25*8975f5c5SAndroid Build Coastguard Worker 
26*8975f5c5SAndroid Build Coastguard Worker     size_t aHash = ComputeGenericHash(a.c_str(), a.size());
27*8975f5c5SAndroid Build Coastguard Worker     size_t bHash = ComputeGenericHash(b.c_str(), b.size());
28*8975f5c5SAndroid Build Coastguard Worker 
29*8975f5c5SAndroid Build Coastguard Worker     EXPECT_NE(aHash, bHash);
30*8975f5c5SAndroid Build Coastguard Worker }
31*8975f5c5SAndroid Build Coastguard Worker }  // anonymous namespace
32