]> git.proxmox.com Git - ceph.git/blob - ceph/src/jaegertracing/opentelemetry-cpp/third_party/prometheus-cpp/core/tests/gauge_test.cc
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / jaegertracing / opentelemetry-cpp / third_party / prometheus-cpp / core / tests / gauge_test.cc
1 #include "prometheus/gauge.h"
2
3 #include <gtest/gtest.h>
4
5 namespace prometheus {
6 namespace {
7
8 TEST(GaugeTest, initialize_with_zero) {
9 Gauge gauge;
10 EXPECT_EQ(gauge.Value(), 0);
11 }
12
13 TEST(GaugeTest, inc) {
14 Gauge gauge;
15 gauge.Increment();
16 EXPECT_EQ(gauge.Value(), 1.0);
17 }
18
19 TEST(GaugeTest, inc_number) {
20 Gauge gauge;
21 gauge.Increment(4);
22 EXPECT_EQ(gauge.Value(), 4.0);
23 }
24
25 TEST(GaugeTest, inc_multiple) {
26 Gauge gauge;
27 gauge.Increment();
28 gauge.Increment();
29 gauge.Increment(5);
30 EXPECT_EQ(gauge.Value(), 7.0);
31 }
32
33 TEST(GaugeTest, inc_negative_value) {
34 Gauge gauge;
35 gauge.Increment(-1.0);
36 EXPECT_EQ(gauge.Value(), -1.0);
37 }
38
39 TEST(GaugeTest, dec) {
40 Gauge gauge;
41 gauge.Set(5.0);
42 gauge.Decrement();
43 EXPECT_EQ(gauge.Value(), 4.0);
44 }
45
46 TEST(GaugeTest, dec_negative_value) {
47 Gauge gauge;
48 gauge.Decrement(-1.0);
49 EXPECT_EQ(gauge.Value(), 1.0);
50 }
51
52 TEST(GaugeTest, dec_number) {
53 Gauge gauge;
54 gauge.Set(5.0);
55 gauge.Decrement(3.0);
56 EXPECT_EQ(gauge.Value(), 2.0);
57 }
58
59 TEST(GaugeTest, set) {
60 Gauge gauge;
61 gauge.Set(3.0);
62 EXPECT_EQ(gauge.Value(), 3.0);
63 }
64
65 TEST(GaugeTest, set_multiple) {
66 Gauge gauge;
67 gauge.Set(3.0);
68 gauge.Set(8.0);
69 gauge.Set(1.0);
70 EXPECT_EQ(gauge.Value(), 1.0);
71 }
72
73 TEST(GaugeTest, set_to_current_time) {
74 Gauge gauge;
75 gauge.SetToCurrentTime();
76 EXPECT_GT(gauge.Value(), 0.0);
77 }
78
79 } // namespace
80 } // namespace prometheus