tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

metric_unittests.py (1076B)


      1 #!/usr/bin/env vpython3
      2 
      3 # Copyright 2024 The Chromium Authors
      4 # Use of this source code is governed by a BSD-style license that can be
      5 # found in the LICENSE file.
      6 """File for testing metric.py."""
      7 
      8 import unittest
      9 from average import Average
     10 from count import Count
     11 from metric import Metric
     12 
     13 
     14 class MetricTest(unittest.TestCase):
     15  """Test metric.py."""
     16 
     17  def test_no_metric(self) -> None:
     18    m = Metric()
     19    self.assertFalse(m.dump().metrics)
     20 
     21  def test_multiple_metrics(self) -> None:
     22    m = Metric()
     23    m.register(Average("a"))
     24    m.register(Average("b"))
     25    m.register(Count("c"))
     26    self.assertEqual(len(m.dump().metrics), 3)
     27    self.assertEqual(set([i.name for i in m.dump().metrics]),
     28                     set(["a", "b", "c"]))
     29 
     30  def test_tags(self) -> None:
     31    m = Metric()
     32    m.register(Count("c"))
     33    m.tag("t1", "t2")
     34    m.tag("t3")
     35    self.assertEqual(len(m.dump().metrics), 4)
     36    self.assertEqual(set([i.name for i in m.dump().metrics]),
     37                     set(["c", "c@t1", "c@t2", "c@t3"]))
     38 
     39 
     40 
     41 if __name__ == '__main__':
     42  unittest.main()