| Index: chrome/browser/history/scored_history_match_unittest.cc
|
| diff --git a/chrome/browser/history/scored_history_match_unittest.cc b/chrome/browser/history/scored_history_match_unittest.cc
|
| index 4989966eda6eb271a3c5cc935a26e39dae626d98..c7b06bb091355023dafeea51780c93bc94bb7092 100644
|
| --- a/chrome/browser/history/scored_history_match_unittest.cc
|
| +++ b/chrome/browser/history/scored_history_match_unittest.cc
|
| @@ -344,6 +344,69 @@ TEST_F(ScoredHistoryMatchTest, GetTopicalityScoreTrailingSlash) {
|
| EXPECT_EQ(hostname_no_slash, hostname);
|
| }
|
|
|
| +// This function tests the function GetFinalRelevancyScore().
|
| +TEST_F(ScoredHistoryMatchTest, GetFinalRelevancyScore) {
|
| + ScoredHistoryMatch scored_match;
|
| + // Check when topicality score is zero.
|
| + float topicality_score = 0.0;
|
| + float frequency_score = 10.0;
|
| + std::vector<ScoredHistoryMatch::ScoreMaxRelevance> hqp_buckets;
|
| + // hqp_relevance_buckets = "0.0:200,1.0:200,4.0:500,5.0:900";
|
| + hqp_buckets.push_back(std::make_pair(0.0, 100));
|
| + hqp_buckets.push_back(std::make_pair(1.0, 200));
|
| + hqp_buckets.push_back(std::make_pair(4.0, 500));
|
| + hqp_buckets.push_back(std::make_pair(5.0, 900));
|
| + EXPECT_EQ(0,
|
| + scored_match.GetFinalRelevancyScore(topicality_score,
|
| + frequency_score,
|
| + hqp_buckets));
|
| + // Check when intermediate score falls at the border range.
|
| + topicality_score = 0.5;
|
| + frequency_score = 10.0;
|
| + // intermediate_score = 0.5 * 10.0 = 5.0.
|
| + // hqp_relevance_buckets = "0.0:100,1.0:200,4.0:500,5.0:900,10.0:1000";
|
| + hqp_buckets.clear();
|
| + hqp_buckets.push_back(std::make_pair(0.0, 100));
|
| + hqp_buckets.push_back(std::make_pair(1.0, 200));
|
| + hqp_buckets.push_back(std::make_pair(4.0, 500));
|
| + hqp_buckets.push_back(std::make_pair(5.0, 900));
|
| + hqp_buckets.push_back(std::make_pair(10.0, 1000));
|
| + EXPECT_EQ(900,
|
| + scored_match.GetFinalRelevancyScore(topicality_score,
|
| + frequency_score,
|
| + hqp_buckets));
|
| + // Checking the score that falls into one of the buckets.
|
| + topicality_score = 0.5;
|
| + frequency_score = 10.0;
|
| + // intermediate_score = 0.5 * 10.0 = 5.0.
|
| + // hqp_relevance_buckets = "0.0:100,1.0:200,4.0:500,8.0:900,10.0:1000";
|
| + hqp_buckets.clear();
|
| + hqp_buckets.push_back(std::make_pair(0.0, 100));
|
| + hqp_buckets.push_back(std::make_pair(1.0, 200));
|
| + hqp_buckets.push_back(std::make_pair(4.0, 500));
|
| + hqp_buckets.push_back(std::make_pair(8.0, 900));
|
| + hqp_buckets.push_back(std::make_pair(10.0, 1000));
|
| + EXPECT_EQ(600, // 500 + (((900 - 500)/(8 -4)) * 1) = 600.
|
| + scored_match.GetFinalRelevancyScore(topicality_score,
|
| + frequency_score,
|
| + hqp_buckets));
|
| + // Never give the score greater than maximum specified.
|
| + topicality_score = 0.5;
|
| + frequency_score = 22.0;
|
| + // intermediate_score = 0.5 * 22.0 = 11.0
|
| + // hqp_relevance_buckets = "0.0:100,1.0:200,4.0:500,8.0:900,10.0:1000";
|
| + hqp_buckets.clear();
|
| + hqp_buckets.push_back(std::make_pair(0.0, 100));
|
| + hqp_buckets.push_back(std::make_pair(1.0, 200));
|
| + hqp_buckets.push_back(std::make_pair(4.0, 500));
|
| + hqp_buckets.push_back(std::make_pair(8.0, 900));
|
| + hqp_buckets.push_back(std::make_pair(10.0, 1000));
|
| + EXPECT_EQ(1000,
|
| + scored_match.GetFinalRelevancyScore(topicality_score,
|
| + frequency_score,
|
| + hqp_buckets));
|
| +}
|
| +
|
| // This function only tests scoring of single terms that match exactly
|
| // once somewhere in the URL or title.
|
| TEST_F(ScoredHistoryMatchTest, GetTopicalityScore) {
|
|
|