| OLD | NEW |
| 1 #include "Test.h" | 1 #include "Test.h" |
| 2 #include "SkTDynamicHash.h" | 2 #include "SkTDynamicHash.h" |
| 3 | 3 |
| 4 namespace { | 4 namespace { |
| 5 | 5 |
| 6 struct Entry { | 6 struct Entry { |
| 7 int key; | 7 int key; |
| 8 float value; | 8 double value; |
| 9 }; |
| 10 const int& GetKey(const Entry& entry) { return entry.key; } |
| 11 uint32_t GetHash(const int& key) { return key; } |
| 12 bool AreEqual(const Entry& entry, const int& key) { return entry.key == key; } |
| 9 | 13 |
| 10 static const int& Key(const Entry& entry) { return entry.key; } | |
| 11 static uint32_t Hash(const int& key) { return key; } | |
| 12 static bool Equal(const Entry& entry, const int& key) { return entry.key ==
key; } | |
| 13 }; | |
| 14 | 14 |
| 15 class Hash : public SkTDynamicHash<Entry, int, Entry::Key, Entry::Hash, Entry::E
qual> { | 15 class Hash : public SkTDynamicHash<Entry, int, GetKey, GetHash, AreEqual> { |
| 16 public: | 16 public: |
| 17 Hash() : INHERITED() {} | 17 Hash() : INHERITED() {} |
| 18 Hash(int capacity) : INHERITED(capacity) {} | 18 Hash(int capacity) : INHERITED(capacity) {} |
| 19 | 19 |
| 20 // Promote protected methods to public for this test. | 20 // Promote protected methods to public for this test. |
| 21 int capacity() const { return this->INHERITED::capacity(); } | 21 int capacity() const { return this->INHERITED::capacity(); } |
| 22 int countCollisions(const int& key) const { return this->INHERITED::countCol
lisions(key); } | 22 int countCollisions(const int& key) const { return this->INHERITED::countCol
lisions(key); } |
| 23 | 23 |
| 24 private: | 24 private: |
| 25 typedef SkTDynamicHash<Entry, int, Entry::Key, Entry::Hash, Entry::Equal> IN
HERITED; | 25 typedef SkTDynamicHash<Entry, int, GetKey, GetHash, AreEqual> INHERITED; |
| 26 }; | 26 }; |
| 27 | 27 |
| 28 } // namespace | 28 } // namespace |
| 29 | 29 |
| 30 #define ASSERT(x) REPORTER_ASSERT(reporter, x) | 30 #define ASSERT(x) REPORTER_ASSERT(reporter, x) |
| 31 | 31 |
| 32 static void test_growth(skiatest::Reporter* reporter) { | 32 static void test_growth(skiatest::Reporter* reporter) { |
| 33 Entry a = { 1, 2.0 }; | 33 Entry a = { 1, 2.0 }; |
| 34 Entry b = { 2, 3.0 }; | 34 Entry b = { 2, 3.0 }; |
| 35 Entry c = { 3, 4.0 }; | 35 Entry c = { 3, 4.0 }; |
| (...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 142 | 142 |
| 143 static void test_dynamic_hash(skiatest::Reporter* reporter) { | 143 static void test_dynamic_hash(skiatest::Reporter* reporter) { |
| 144 test_growth(reporter); | 144 test_growth(reporter); |
| 145 test_add(reporter); | 145 test_add(reporter); |
| 146 test_lookup(reporter); | 146 test_lookup(reporter); |
| 147 test_remove(reporter); | 147 test_remove(reporter); |
| 148 } | 148 } |
| 149 | 149 |
| 150 #include "TestClassDef.h" | 150 #include "TestClassDef.h" |
| 151 DEFINE_TESTCLASS("DynamicHash", DynamicHashTestClass, test_dynamic_hash); | 151 DEFINE_TESTCLASS("DynamicHash", DynamicHashTestClass, test_dynamic_hash); |
| OLD | NEW |