| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "components/translate/core/browser/translate_ranker_impl.h" | 5 #include "components/translate/core/browser/translate_ranker_impl.h" |
| 6 | 6 |
| 7 #include <initializer_list> | 7 #include <initializer_list> |
| 8 #include <memory> | 8 #include <memory> |
| 9 | 9 |
| 10 #include "base/feature_list.h" | 10 #include "base/feature_list.h" |
| 11 #include "base/memory/ptr_util.h" | 11 #include "base/memory/ptr_util.h" |
| 12 #include "base/run_loop.h" | 12 #include "base/run_loop.h" |
| 13 #include "base/strings/stringprintf.h" | 13 #include "base/strings/stringprintf.h" |
| 14 #include "base/task_scheduler/post_task.h" | 14 #include "base/task_scheduler/post_task.h" |
| 15 #include "base/test/scoped_feature_list.h" | 15 #include "base/test/scoped_feature_list.h" |
| 16 #include "base/test/scoped_task_environment.h" | 16 #include "base/test/scoped_task_environment.h" |
| 17 #include "components/machine_intelligence/proto/ranker_model.pb.h" |
| 18 #include "components/machine_intelligence/proto/translate_ranker_model.pb.h" |
| 19 #include "components/machine_intelligence/ranker_model.h" |
| 17 #include "components/metrics/proto/translate_event.pb.h" | 20 #include "components/metrics/proto/translate_event.pb.h" |
| 18 #include "components/metrics/proto/ukm/source.pb.h" | 21 #include "components/metrics/proto/ukm/source.pb.h" |
| 19 #include "components/translate/core/browser/proto/ranker_model.pb.h" | |
| 20 #include "components/translate/core/browser/proto/translate_ranker_model.pb.h" | |
| 21 #include "components/translate/core/browser/ranker_model.h" | |
| 22 #include "components/ukm/test_ukm_recorder.h" | 22 #include "components/ukm/test_ukm_recorder.h" |
| 23 #include "components/ukm/ukm_source.h" | 23 #include "components/ukm/ukm_source.h" |
| 24 #include "net/url_request/test_url_fetcher_factory.h" | 24 #include "net/url_request/test_url_fetcher_factory.h" |
| 25 #include "net/url_request/url_request_test_util.h" | 25 #include "net/url_request/url_request_test_util.h" |
| 26 #include "testing/gtest/include/gtest/gtest.h" | 26 #include "testing/gtest/include/gtest/gtest.h" |
| 27 #include "url/gurl.h" | 27 #include "url/gurl.h" |
| 28 | 28 |
| 29 namespace { | 29 namespace { |
| 30 | 30 |
| 31 using translate::kTranslateRankerEnforcement; | 31 using translate::kTranslateRankerEnforcement; |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 87 TranslateRankerImplTest::TranslateRankerImplTest() {} | 87 TranslateRankerImplTest::TranslateRankerImplTest() {} |
| 88 | 88 |
| 89 void TranslateRankerImplTest::InitFeatures( | 89 void TranslateRankerImplTest::InitFeatures( |
| 90 const std::initializer_list<base::Feature>& enabled, | 90 const std::initializer_list<base::Feature>& enabled, |
| 91 const std::initializer_list<base::Feature>& disabled) { | 91 const std::initializer_list<base::Feature>& disabled) { |
| 92 scoped_feature_list_.InitWithFeatures(enabled, disabled); | 92 scoped_feature_list_.InitWithFeatures(enabled, disabled); |
| 93 } | 93 } |
| 94 | 94 |
| 95 std::unique_ptr<TranslateRankerImpl> TranslateRankerImplTest::GetRankerForTest( | 95 std::unique_ptr<TranslateRankerImpl> TranslateRankerImplTest::GetRankerForTest( |
| 96 float threshold) { | 96 float threshold) { |
| 97 auto model = base::MakeUnique<chrome_intelligence::RankerModel>(); | 97 auto model = base::MakeUnique<machine_intelligence::RankerModel>(); |
| 98 model->mutable_proto()->mutable_translate()->set_version(kModelVersion); | 98 model->mutable_proto()->mutable_translate()->set_version(kModelVersion); |
| 99 auto* details = model->mutable_proto() | 99 auto* details = model->mutable_proto() |
| 100 ->mutable_translate() | 100 ->mutable_translate() |
| 101 ->mutable_logistic_regression_model(); | 101 ->mutable_logistic_regression_model(); |
| 102 if (threshold > 0.0) { | 102 if (threshold > 0.0) { |
| 103 details->set_threshold(threshold); | 103 details->set_threshold(threshold); |
| 104 } | 104 } |
| 105 details->set_bias(0.5f); | 105 details->set_bias(0.5f); |
| 106 details->set_accept_ratio_weight(0.02f); | 106 details->set_accept_ratio_weight(0.02f); |
| 107 details->set_decline_ratio_weight(0.03f); | 107 details->set_decline_ratio_weight(0.03f); |
| (...skipping 394 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 502 std::vector<metrics::TranslateEventProto> flushed_events; | 502 std::vector<metrics::TranslateEventProto> flushed_events; |
| 503 ranker->FlushTranslateEvents(&flushed_events); | 503 ranker->FlushTranslateEvents(&flushed_events); |
| 504 | 504 |
| 505 EXPECT_EQ(1U, flushed_events.size()); | 505 EXPECT_EQ(1U, flushed_events.size()); |
| 506 ASSERT_EQ(1, flushed_events[0].decision_overrides_size()); | 506 ASSERT_EQ(1, flushed_events[0].decision_overrides_size()); |
| 507 ASSERT_EQ(kOverrideType, flushed_events[0].decision_overrides(0)); | 507 ASSERT_EQ(kOverrideType, flushed_events[0].decision_overrides(0)); |
| 508 ASSERT_EQ(kEventType, flushed_events[0].event_type()); | 508 ASSERT_EQ(kEventType, flushed_events[0].event_type()); |
| 509 EXPECT_EQ(metrics::TranslateEventProto::DONT_SHOW, | 509 EXPECT_EQ(metrics::TranslateEventProto::DONT_SHOW, |
| 510 flushed_events[0].ranker_response()); | 510 flushed_events[0].ranker_response()); |
| 511 } | 511 } |
| OLD | NEW |