OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "base/metrics/field_trial.h" | 5 #include "base/metrics/field_trial.h" |
6 | 6 |
7 #include "base/build_time.h" | 7 #include "base/build_time.h" |
8 #include "base/message_loop/message_loop.h" | 8 #include "base/message_loop/message_loop.h" |
9 #include "base/rand_util.h" | 9 #include "base/rand_util.h" |
10 #include "base/run_loop.h" | 10 #include "base/run_loop.h" |
(...skipping 1003 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1014 TEST_F(FieldTrialTest, FloatBoundariesGiveEqualGroupSizes) { | 1014 TEST_F(FieldTrialTest, FloatBoundariesGiveEqualGroupSizes) { |
1015 const int kBucketCount = 100; | 1015 const int kBucketCount = 100; |
1016 | 1016 |
1017 // Try each boundary value |i / 100.0| as the entropy value. | 1017 // Try each boundary value |i / 100.0| as the entropy value. |
1018 for (int i = 0; i < kBucketCount; ++i) { | 1018 for (int i = 0; i < kBucketCount; ++i) { |
1019 const double entropy = i / static_cast<double>(kBucketCount); | 1019 const double entropy = i / static_cast<double>(kBucketCount); |
1020 | 1020 |
1021 scoped_refptr<base::FieldTrial> trial( | 1021 scoped_refptr<base::FieldTrial> trial( |
1022 new base::FieldTrial("test", kBucketCount, "default", entropy)); | 1022 new base::FieldTrial("test", kBucketCount, "default", entropy)); |
1023 for (int j = 0; j < kBucketCount; ++j) | 1023 for (int j = 0; j < kBucketCount; ++j) |
1024 trial->AppendGroup(base::StringPrintf("%d", j), 1); | 1024 trial->AppendGroup(base::IntToString(j), 1); |
1025 | 1025 |
1026 EXPECT_EQ(base::StringPrintf("%d", i), trial->group_name()); | 1026 EXPECT_EQ(base::IntToString(i), trial->group_name()); |
1027 } | 1027 } |
1028 } | 1028 } |
1029 | 1029 |
1030 TEST_F(FieldTrialTest, DoesNotSurpassTotalProbability) { | 1030 TEST_F(FieldTrialTest, DoesNotSurpassTotalProbability) { |
1031 const double kEntropyValue = 1.0 - 1e-9; | 1031 const double kEntropyValue = 1.0 - 1e-9; |
1032 ASSERT_LT(kEntropyValue, 1.0); | 1032 ASSERT_LT(kEntropyValue, 1.0); |
1033 | 1033 |
1034 scoped_refptr<base::FieldTrial> trial( | 1034 scoped_refptr<base::FieldTrial> trial( |
1035 new base::FieldTrial("test", 2, "default", kEntropyValue)); | 1035 new base::FieldTrial("test", 2, "default", kEntropyValue)); |
1036 trial->AppendGroup("1", 1); | 1036 trial->AppendGroup("1", 1); |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1124 // Trying to instantiate a one-time randomized field trial before the | 1124 // Trying to instantiate a one-time randomized field trial before the |
1125 // FieldTrialList is created should crash. | 1125 // FieldTrialList is created should crash. |
1126 EXPECT_DEATH(FieldTrialList::FactoryGetFieldTrial( | 1126 EXPECT_DEATH(FieldTrialList::FactoryGetFieldTrial( |
1127 "OneTimeRandomizedTrialWithoutFieldTrialList", 100, kDefaultGroupName, | 1127 "OneTimeRandomizedTrialWithoutFieldTrialList", 100, kDefaultGroupName, |
1128 base::FieldTrialList::kNoExpirationYear, 1, 1, | 1128 base::FieldTrialList::kNoExpirationYear, 1, 1, |
1129 base::FieldTrial::ONE_TIME_RANDOMIZED, NULL), ""); | 1129 base::FieldTrial::ONE_TIME_RANDOMIZED, NULL), ""); |
1130 } | 1130 } |
1131 #endif | 1131 #endif |
1132 | 1132 |
1133 } // namespace base | 1133 } // namespace base |
OLD | NEW |