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 WorkerTEST(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