summaryrefslogtreecommitdiffstats
path: root/sync/util/data_type_histogram_unittest.cc
blob: f43a19bf166744faee434f1655b4f80f9e30bd0d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "sync/util/data_type_histogram.h"

#include "base/time.h"
#include "testing/gtest/include/gtest/gtest.h"

namespace syncer {
namespace {

class DataTypeHistogramTest : public testing::Test {
};

// Create a histogram of type HISTOGRAM_COUNTS for each model type. Nothing
// should break.
TEST(DataTypeHistogramTest, BasicCount) {
  for (int i = syncer::FIRST_REAL_MODEL_TYPE;
       i <= syncer::LAST_REAL_MODEL_TYPE; ++i) {
    syncer::ModelType type = syncer::ModelTypeFromInt(i);
#define PER_DATA_TYPE_MACRO(type_str) \
    HISTOGRAM_COUNTS("Prefix" type_str "Suffix", 1);
    SYNC_DATA_TYPE_HISTOGRAM(type);
#undef PER_DATA_TYPE_MACRO
  }
}

// Create a histogram of type SYNC_FREQ_HISTOGRAM for each model type. Nothing
// should break.
TEST(DataTypeHistogramTest, BasicFreq) {
  for (int i = syncer::FIRST_REAL_MODEL_TYPE;
       i <= syncer::LAST_REAL_MODEL_TYPE; ++i) {
    syncer::ModelType type = syncer::ModelTypeFromInt(i);
#define PER_DATA_TYPE_MACRO(type_str) \
    SYNC_FREQ_HISTOGRAM("Prefix" type_str "Suffix", \
                        base::TimeDelta::FromSeconds(1));
    SYNC_DATA_TYPE_HISTOGRAM(type);
#undef PER_DATA_TYPE_MACRO
  }
}

// Create a histogram of type UMA_HISTOGRAM_ENUMERATION for each model type.
// Nothing should break.
TEST(DataTypeHistogramTest, BasicEnum) {
  enum HistTypes {
    TYPE_1,
    TYPE_2,
    TYPE_COUNT,
  };
  for (int i = syncer::FIRST_REAL_MODEL_TYPE;
       i <= syncer::LAST_REAL_MODEL_TYPE; ++i) {
    syncer::ModelType type = syncer::ModelTypeFromInt(i);
#define PER_DATA_TYPE_MACRO(type_str) \
    UMA_HISTOGRAM_ENUMERATION("Prefix" type_str "Suffix", \
                              (i % 2 ? TYPE_1 : TYPE_2), TYPE_COUNT);
    SYNC_DATA_TYPE_HISTOGRAM(type);
#undef PER_DATA_TYPE_MACRO
  }
}

}  // namespace
}  // namespace syncer