aboutsummaryrefslogtreecommitdiff
path: root/icing/scoring/scoring-processor_test.cc
diff options
context:
space:
mode:
Diffstat (limited to 'icing/scoring/scoring-processor_test.cc')
-rw-r--r--icing/scoring/scoring-processor_test.cc72
1 files changed, 48 insertions, 24 deletions
diff --git a/icing/scoring/scoring-processor_test.cc b/icing/scoring/scoring-processor_test.cc
index 10f3eb5..644e013 100644
--- a/icing/scoring/scoring-processor_test.cc
+++ b/icing/scoring/scoring-processor_test.cc
@@ -108,6 +108,8 @@ class ScoringProcessorTest
SchemaStore* schema_store() { return schema_store_.get(); }
+ const FakeClock& fake_clock() const { return fake_clock_; }
+
private:
const std::string test_dir_;
const std::string doc_store_dir_;
@@ -184,23 +186,27 @@ PropertyWeight CreatePropertyWeight(std::string path, double weight) {
TEST_F(ScoringProcessorTest, CreationWithNullDocumentStoreShouldFail) {
ScoringSpecProto spec_proto;
- EXPECT_THAT(ScoringProcessor::Create(spec_proto, /*document_store=*/nullptr,
- schema_store()),
+ EXPECT_THAT(ScoringProcessor::Create(
+ spec_proto, /*document_store=*/nullptr, schema_store(),
+ fake_clock().GetSystemTimeMilliseconds()),
StatusIs(libtextclassifier3::StatusCode::FAILED_PRECONDITION));
}
TEST_F(ScoringProcessorTest, CreationWithNullSchemaStoreShouldFail) {
ScoringSpecProto spec_proto;
- EXPECT_THAT(ScoringProcessor::Create(spec_proto, document_store(),
- /*schema_store=*/nullptr),
- StatusIs(libtextclassifier3::StatusCode::FAILED_PRECONDITION));
+ EXPECT_THAT(
+ ScoringProcessor::Create(spec_proto, document_store(),
+ /*schema_store=*/nullptr,
+ fake_clock().GetSystemTimeMilliseconds()),
+ StatusIs(libtextclassifier3::StatusCode::FAILED_PRECONDITION));
}
TEST_P(ScoringProcessorTest, ShouldCreateInstance) {
ScoringSpecProto spec_proto = CreateScoringSpecForRankingStrategy(
ScoringSpecProto::RankingStrategy::DOCUMENT_SCORE, GetParam());
ICING_EXPECT_OK(
- ScoringProcessor::Create(spec_proto, document_store(), schema_store()));
+ ScoringProcessor::Create(spec_proto, document_store(), schema_store(),
+ fake_clock().GetSystemTimeMilliseconds()));
}
TEST_P(ScoringProcessorTest, ShouldHandleEmptyDocHitIterator) {
@@ -215,7 +221,8 @@ TEST_P(ScoringProcessorTest, ShouldHandleEmptyDocHitIterator) {
// Creates a ScoringProcessor
ICING_ASSERT_OK_AND_ASSIGN(
std::unique_ptr<ScoringProcessor> scoring_processor,
- ScoringProcessor::Create(spec_proto, document_store(), schema_store()));
+ ScoringProcessor::Create(spec_proto, document_store(), schema_store(),
+ fake_clock().GetSystemTimeMilliseconds()));
EXPECT_THAT(scoring_processor->Score(std::move(doc_hit_info_iterator),
/*num_to_score=*/5),
@@ -241,7 +248,8 @@ TEST_P(ScoringProcessorTest, ShouldHandleNonPositiveNumToScore) {
// Creates a ScoringProcessor
ICING_ASSERT_OK_AND_ASSIGN(
std::unique_ptr<ScoringProcessor> scoring_processor,
- ScoringProcessor::Create(spec_proto, document_store(), schema_store()));
+ ScoringProcessor::Create(spec_proto, document_store(), schema_store(),
+ fake_clock().GetSystemTimeMilliseconds()));
EXPECT_THAT(scoring_processor->Score(std::move(doc_hit_info_iterator),
/*num_to_score=*/-1),
@@ -271,7 +279,8 @@ TEST_P(ScoringProcessorTest, ShouldRespectNumToScore) {
// Creates a ScoringProcessor
ICING_ASSERT_OK_AND_ASSIGN(
std::unique_ptr<ScoringProcessor> scoring_processor,
- ScoringProcessor::Create(spec_proto, document_store(), schema_store()));
+ ScoringProcessor::Create(spec_proto, document_store(), schema_store(),
+ fake_clock().GetSystemTimeMilliseconds()));
EXPECT_THAT(scoring_processor->Score(std::move(doc_hit_info_iterator),
/*num_to_score=*/2),
@@ -303,7 +312,8 @@ TEST_P(ScoringProcessorTest, ShouldScoreByDocumentScore) {
// Creates a ScoringProcessor
ICING_ASSERT_OK_AND_ASSIGN(
std::unique_ptr<ScoringProcessor> scoring_processor,
- ScoringProcessor::Create(spec_proto, document_store(), schema_store()));
+ ScoringProcessor::Create(spec_proto, document_store(), schema_store(),
+ fake_clock().GetSystemTimeMilliseconds()));
EXPECT_THAT(scoring_processor->Score(std::move(doc_hit_info_iterator),
/*num_to_score=*/3),
@@ -358,7 +368,8 @@ TEST_P(ScoringProcessorTest,
// Creates a ScoringProcessor
ICING_ASSERT_OK_AND_ASSIGN(
std::unique_ptr<ScoringProcessor> scoring_processor,
- ScoringProcessor::Create(spec_proto, document_store(), schema_store()));
+ ScoringProcessor::Create(spec_proto, document_store(), schema_store(),
+ fake_clock().GetSystemTimeMilliseconds()));
std::unordered_map<std::string, std::unique_ptr<DocHitInfoIterator>>
query_term_iterators;
@@ -427,7 +438,8 @@ TEST_P(ScoringProcessorTest,
// Creates a ScoringProcessor
ICING_ASSERT_OK_AND_ASSIGN(
std::unique_ptr<ScoringProcessor> scoring_processor,
- ScoringProcessor::Create(spec_proto, document_store(), schema_store()));
+ ScoringProcessor::Create(spec_proto, document_store(), schema_store(),
+ fake_clock().GetSystemTimeMilliseconds()));
std::unordered_map<std::string, std::unique_ptr<DocHitInfoIterator>>
query_term_iterators;
@@ -500,7 +512,8 @@ TEST_P(ScoringProcessorTest,
// Creates a ScoringProcessor
ICING_ASSERT_OK_AND_ASSIGN(
std::unique_ptr<ScoringProcessor> scoring_processor,
- ScoringProcessor::Create(spec_proto, document_store(), schema_store()));
+ ScoringProcessor::Create(spec_proto, document_store(), schema_store(),
+ fake_clock().GetSystemTimeMilliseconds()));
std::unordered_map<std::string, std::unique_ptr<DocHitInfoIterator>>
query_term_iterators;
@@ -549,7 +562,8 @@ TEST_P(ScoringProcessorTest,
// Creates a ScoringProcessor
ICING_ASSERT_OK_AND_ASSIGN(
std::unique_ptr<ScoringProcessor> scoring_processor,
- ScoringProcessor::Create(spec_proto, document_store(), schema_store()));
+ ScoringProcessor::Create(spec_proto, document_store(), schema_store(),
+ fake_clock().GetSystemTimeMilliseconds()));
std::unordered_map<std::string, std::unique_ptr<DocHitInfoIterator>>
query_term_iterators;
@@ -614,7 +628,8 @@ TEST_P(ScoringProcessorTest,
// Creates a ScoringProcessor
ICING_ASSERT_OK_AND_ASSIGN(
std::unique_ptr<ScoringProcessor> scoring_processor,
- ScoringProcessor::Create(spec_proto, document_store(), schema_store()));
+ ScoringProcessor::Create(spec_proto, document_store(), schema_store(),
+ fake_clock().GetSystemTimeMilliseconds()));
std::unordered_map<std::string, std::unique_ptr<DocHitInfoIterator>>
query_term_iterators;
@@ -684,7 +699,8 @@ TEST_P(ScoringProcessorTest,
// Creates a ScoringProcessor
ICING_ASSERT_OK_AND_ASSIGN(
std::unique_ptr<ScoringProcessor> scoring_processor,
- ScoringProcessor::Create(spec_proto, document_store(), schema_store()));
+ ScoringProcessor::Create(spec_proto, document_store(), schema_store(),
+ fake_clock().GetSystemTimeMilliseconds()));
std::unordered_map<std::string, std::unique_ptr<DocHitInfoIterator>>
query_term_iterators;
@@ -745,7 +761,8 @@ TEST_P(ScoringProcessorTest,
// Creates a ScoringProcessor with no explicit weights set.
ICING_ASSERT_OK_AND_ASSIGN(
std::unique_ptr<ScoringProcessor> scoring_processor,
- ScoringProcessor::Create(spec_proto, document_store(), schema_store()));
+ ScoringProcessor::Create(spec_proto, document_store(), schema_store(),
+ fake_clock().GetSystemTimeMilliseconds()));
ScoringSpecProto spec_proto_with_weights =
CreateScoringSpecForRankingStrategy(
@@ -761,7 +778,8 @@ TEST_P(ScoringProcessorTest,
ICING_ASSERT_OK_AND_ASSIGN(
std::unique_ptr<ScoringProcessor> scoring_processor_with_weights,
ScoringProcessor::Create(spec_proto_with_weights, document_store(),
- schema_store()));
+ schema_store(),
+ fake_clock().GetSystemTimeMilliseconds()));
std::unordered_map<std::string, std::unique_ptr<DocHitInfoIterator>>
query_term_iterators;
@@ -847,7 +865,8 @@ TEST_P(ScoringProcessorTest,
// Creates a ScoringProcessor
ICING_ASSERT_OK_AND_ASSIGN(
std::unique_ptr<ScoringProcessor> scoring_processor,
- ScoringProcessor::Create(spec_proto, document_store(), schema_store()));
+ ScoringProcessor::Create(spec_proto, document_store(), schema_store(),
+ fake_clock().GetSystemTimeMilliseconds()));
std::unordered_map<std::string, std::unique_ptr<DocHitInfoIterator>>
query_term_iterators;
@@ -909,7 +928,8 @@ TEST_P(ScoringProcessorTest, ShouldScoreByCreationTimestamp) {
// Creates a ScoringProcessor which ranks in descending order
ICING_ASSERT_OK_AND_ASSIGN(
std::unique_ptr<ScoringProcessor> scoring_processor,
- ScoringProcessor::Create(spec_proto, document_store(), schema_store()));
+ ScoringProcessor::Create(spec_proto, document_store(), schema_store(),
+ fake_clock().GetSystemTimeMilliseconds()));
EXPECT_THAT(scoring_processor->Score(std::move(doc_hit_info_iterator),
/*num_to_score=*/3),
@@ -969,7 +989,8 @@ TEST_P(ScoringProcessorTest, ShouldScoreByUsageCount) {
// Creates a ScoringProcessor which ranks in descending order
ICING_ASSERT_OK_AND_ASSIGN(
std::unique_ptr<ScoringProcessor> scoring_processor,
- ScoringProcessor::Create(spec_proto, document_store(), schema_store()));
+ ScoringProcessor::Create(spec_proto, document_store(), schema_store(),
+ fake_clock().GetSystemTimeMilliseconds()));
EXPECT_THAT(scoring_processor->Score(std::move(doc_hit_info_iterator),
/*num_to_score=*/3),
@@ -1029,7 +1050,8 @@ TEST_P(ScoringProcessorTest, ShouldScoreByUsageTimestamp) {
// Creates a ScoringProcessor which ranks in descending order
ICING_ASSERT_OK_AND_ASSIGN(
std::unique_ptr<ScoringProcessor> scoring_processor,
- ScoringProcessor::Create(spec_proto, document_store(), schema_store()));
+ ScoringProcessor::Create(spec_proto, document_store(), schema_store(),
+ fake_clock().GetSystemTimeMilliseconds()));
EXPECT_THAT(scoring_processor->Score(std::move(doc_hit_info_iterator),
/*num_to_score=*/3),
@@ -1065,7 +1087,8 @@ TEST_P(ScoringProcessorTest, ShouldHandleNoScores) {
// Creates a ScoringProcessor which ranks in descending order
ICING_ASSERT_OK_AND_ASSIGN(
std::unique_ptr<ScoringProcessor> scoring_processor,
- ScoringProcessor::Create(spec_proto, document_store(), schema_store()));
+ ScoringProcessor::Create(spec_proto, document_store(), schema_store(),
+ fake_clock().GetSystemTimeMilliseconds()));
EXPECT_THAT(scoring_processor->Score(std::move(doc_hit_info_iterator),
/*num_to_score=*/4),
ElementsAre(EqualsScoredDocumentHit(scored_document_hit_default),
@@ -1114,7 +1137,8 @@ TEST_P(ScoringProcessorTest, ShouldWrapResultsWhenNoScoring) {
// Creates a ScoringProcessor which ranks in descending order
ICING_ASSERT_OK_AND_ASSIGN(
std::unique_ptr<ScoringProcessor> scoring_processor,
- ScoringProcessor::Create(spec_proto, document_store(), schema_store()));
+ ScoringProcessor::Create(spec_proto, document_store(), schema_store(),
+ fake_clock().GetSystemTimeMilliseconds()));
EXPECT_THAT(scoring_processor->Score(std::move(doc_hit_info_iterator),
/*num_to_score=*/3),