configuration_unittest.cc 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. // Copyright 2017 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #include "components/feature_engagement/public/configuration.h"
  5. #include "testing/gtest/include/gtest/gtest.h"
  6. namespace feature_engagement {
  7. TEST(ComparatorTest, Any) {
  8. EXPECT_TRUE(Comparator(ANY, 0).MeetsCriteria(0));
  9. EXPECT_TRUE(Comparator(ANY, 1).MeetsCriteria(0));
  10. EXPECT_TRUE(Comparator(ANY, 1).MeetsCriteria(1));
  11. EXPECT_TRUE(Comparator(ANY, 1).MeetsCriteria(2));
  12. EXPECT_TRUE(Comparator(ANY, 10).MeetsCriteria(9));
  13. EXPECT_TRUE(Comparator(ANY, 10).MeetsCriteria(10));
  14. EXPECT_TRUE(Comparator(ANY, 10).MeetsCriteria(11));
  15. }
  16. TEST(ComparatorTest, LessThan) {
  17. EXPECT_FALSE(Comparator(LESS_THAN, 0).MeetsCriteria(0));
  18. EXPECT_TRUE(Comparator(LESS_THAN, 1).MeetsCriteria(0));
  19. EXPECT_FALSE(Comparator(LESS_THAN, 1).MeetsCriteria(1));
  20. EXPECT_FALSE(Comparator(LESS_THAN, 1).MeetsCriteria(2));
  21. EXPECT_TRUE(Comparator(LESS_THAN, 10).MeetsCriteria(9));
  22. EXPECT_FALSE(Comparator(LESS_THAN, 10).MeetsCriteria(10));
  23. EXPECT_FALSE(Comparator(LESS_THAN, 10).MeetsCriteria(11));
  24. }
  25. TEST(ComparatorTest, GreaterThan) {
  26. EXPECT_FALSE(Comparator(GREATER_THAN, 0).MeetsCriteria(0));
  27. EXPECT_FALSE(Comparator(GREATER_THAN, 1).MeetsCriteria(0));
  28. EXPECT_FALSE(Comparator(GREATER_THAN, 1).MeetsCriteria(1));
  29. EXPECT_TRUE(Comparator(GREATER_THAN, 1).MeetsCriteria(2));
  30. EXPECT_FALSE(Comparator(GREATER_THAN, 10).MeetsCriteria(9));
  31. EXPECT_FALSE(Comparator(GREATER_THAN, 10).MeetsCriteria(10));
  32. EXPECT_TRUE(Comparator(GREATER_THAN, 10).MeetsCriteria(11));
  33. }
  34. TEST(ComparatorTest, LessThanOrEqual) {
  35. EXPECT_TRUE(Comparator(LESS_THAN_OR_EQUAL, 0).MeetsCriteria(0));
  36. EXPECT_TRUE(Comparator(LESS_THAN_OR_EQUAL, 1).MeetsCriteria(0));
  37. EXPECT_TRUE(Comparator(LESS_THAN_OR_EQUAL, 1).MeetsCriteria(1));
  38. EXPECT_FALSE(Comparator(LESS_THAN_OR_EQUAL, 1).MeetsCriteria(2));
  39. EXPECT_TRUE(Comparator(LESS_THAN_OR_EQUAL, 10).MeetsCriteria(9));
  40. EXPECT_TRUE(Comparator(LESS_THAN_OR_EQUAL, 10).MeetsCriteria(10));
  41. EXPECT_FALSE(Comparator(LESS_THAN_OR_EQUAL, 10).MeetsCriteria(11));
  42. }
  43. TEST(ComparatorTest, GreaterThanOrEqual) {
  44. EXPECT_TRUE(Comparator(GREATER_THAN_OR_EQUAL, 0).MeetsCriteria(0));
  45. EXPECT_FALSE(Comparator(GREATER_THAN_OR_EQUAL, 1).MeetsCriteria(0));
  46. EXPECT_TRUE(Comparator(GREATER_THAN_OR_EQUAL, 1).MeetsCriteria(1));
  47. EXPECT_TRUE(Comparator(GREATER_THAN_OR_EQUAL, 1).MeetsCriteria(2));
  48. EXPECT_FALSE(Comparator(GREATER_THAN_OR_EQUAL, 10).MeetsCriteria(9));
  49. EXPECT_TRUE(Comparator(GREATER_THAN_OR_EQUAL, 10).MeetsCriteria(10));
  50. EXPECT_TRUE(Comparator(GREATER_THAN_OR_EQUAL, 10).MeetsCriteria(11));
  51. }
  52. TEST(ComparatorTest, Equal) {
  53. EXPECT_TRUE(Comparator(EQUAL, 0).MeetsCriteria(0));
  54. EXPECT_FALSE(Comparator(EQUAL, 1).MeetsCriteria(0));
  55. EXPECT_TRUE(Comparator(EQUAL, 1).MeetsCriteria(1));
  56. EXPECT_FALSE(Comparator(EQUAL, 1).MeetsCriteria(2));
  57. EXPECT_FALSE(Comparator(EQUAL, 10).MeetsCriteria(9));
  58. EXPECT_TRUE(Comparator(EQUAL, 10).MeetsCriteria(10));
  59. EXPECT_FALSE(Comparator(EQUAL, 10).MeetsCriteria(11));
  60. }
  61. TEST(ComparatorTest, NotEqual) {
  62. EXPECT_FALSE(Comparator(NOT_EQUAL, 0).MeetsCriteria(0));
  63. EXPECT_TRUE(Comparator(NOT_EQUAL, 1).MeetsCriteria(0));
  64. EXPECT_FALSE(Comparator(NOT_EQUAL, 1).MeetsCriteria(1));
  65. EXPECT_TRUE(Comparator(NOT_EQUAL, 1).MeetsCriteria(2));
  66. EXPECT_TRUE(Comparator(NOT_EQUAL, 10).MeetsCriteria(9));
  67. EXPECT_FALSE(Comparator(NOT_EQUAL, 10).MeetsCriteria(10));
  68. EXPECT_TRUE(Comparator(NOT_EQUAL, 10).MeetsCriteria(11));
  69. }
  70. } // namespace feature_engagement