Skip to content

Commit fae24b7

Browse files
authored
Merge pull request #979 from weidongkl/master
fix: error in determining timestamp less than
2 parents 3d78630 + da8d29d commit fae24b7

File tree

2 files changed

+30
-0
lines changed

2 files changed

+30
-0
lines changed

prometheus_client/samples.py

+3
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,9 @@ def __ne__(self, other: object) -> bool:
3030
def __gt__(self, other: "Timestamp") -> bool:
3131
return self.sec > other.sec or self.nsec > other.nsec
3232

33+
def __lt__(self, other: "Timestamp") -> bool:
34+
return self.sec < other.sec or self.nsec < other.nsec
35+
3336

3437
# Timestamp and exemplar are optional.
3538
# Value can be an int or a float.

tests/test_samples.py

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
import unittest
2+
3+
from prometheus_client import samples
4+
5+
6+
class TestSamples(unittest.TestCase):
7+
def test_gt(self):
8+
self.assertEqual(samples.Timestamp(1, 1) > samples.Timestamp(1, 1), False)
9+
self.assertEqual(samples.Timestamp(1, 1) > samples.Timestamp(1, 2), False)
10+
self.assertEqual(samples.Timestamp(1, 1) > samples.Timestamp(2, 1), False)
11+
self.assertEqual(samples.Timestamp(1, 1) > samples.Timestamp(2, 2), False)
12+
self.assertEqual(samples.Timestamp(1, 2) > samples.Timestamp(1, 1), True)
13+
self.assertEqual(samples.Timestamp(2, 1) > samples.Timestamp(1, 1), True)
14+
self.assertEqual(samples.Timestamp(2, 2) > samples.Timestamp(1, 1), True)
15+
16+
def test_lt(self):
17+
self.assertEqual(samples.Timestamp(1, 1) < samples.Timestamp(1, 1), False)
18+
self.assertEqual(samples.Timestamp(1, 1) < samples.Timestamp(1, 2), True)
19+
self.assertEqual(samples.Timestamp(1, 1) < samples.Timestamp(2, 1), True)
20+
self.assertEqual(samples.Timestamp(1, 1) < samples.Timestamp(2, 2), True)
21+
self.assertEqual(samples.Timestamp(1, 2) < samples.Timestamp(1, 1), False)
22+
self.assertEqual(samples.Timestamp(2, 1) < samples.Timestamp(1, 1), False)
23+
self.assertEqual(samples.Timestamp(2, 2) < samples.Timestamp(1, 1), False)
24+
25+
26+
if __name__ == '__main__':
27+
unittest.main()

0 commit comments

Comments
 (0)