示例#1
0
class TestEnum(unittest.TestCase):
    def setUp(self):
        self.registry = CollectorRegistry()
        self.enum = Enum('e', 'help', states=['a', 'b', 'c'], registry=self.registry)
        self.labels = Enum('el', 'help', ['l'], states=['a', 'b', 'c'], registry=self.registry)

    def test_enum(self):
        self.assertEqual(1, self.registry.get_sample_value('e', {'e': 'a'}))
        self.assertEqual(0, self.registry.get_sample_value('e', {'e': 'b'}))
        self.assertEqual(0, self.registry.get_sample_value('e', {'e': 'c'}))

        self.enum.state('b')
        self.assertEqual(0, self.registry.get_sample_value('e', {'e': 'a'}))
        self.assertEqual(1, self.registry.get_sample_value('e', {'e': 'b'}))
        self.assertEqual(0, self.registry.get_sample_value('e', {'e': 'c'}))

        self.assertRaises(ValueError, self.enum.state, 'd')
        self.assertRaises(ValueError, Enum, 'e', 'help', registry=None)

    def test_labels(self):
        self.labels.labels('a').state('c')
        self.assertEqual(0, self.registry.get_sample_value('el', {'l': 'a', 'el': 'a'}))
        self.assertEqual(0, self.registry.get_sample_value('el', {'l': 'a', 'el': 'b'}))
        self.assertEqual(1, self.registry.get_sample_value('el', {'l': 'a', 'el': 'c'}))
        self.assertRaises(ValueError, self.labels.state, 'a')

    def test_overlapping_labels(self):
        with pytest.raises(ValueError):
            Enum('e', 'help', registry=None, labelnames=['e'])
示例#2
0
 def setUp(self):
     self.registry = CollectorRegistry()
     self.enum = Enum('e',
                      'help',
                      states=['a', 'b', 'c'],
                      registry=self.registry)
     self.labels = Enum('el',
                        'help', ['l'],
                        states=['a', 'b', 'c'],
                        registry=self.registry)
示例#3
0
    def test_labels(self):
        self.labels.labels('a').state('c')
        self.assertEqual(
            0, self.registry.get_sample_value('el', {
                'l': 'a',
                'el': 'a'
            }))
        self.assertEqual(
            0, self.registry.get_sample_value('el', {
                'l': 'a',
                'el': 'b'
            }))
        self.assertEqual(
            1, self.registry.get_sample_value('el', {
                'l': 'a',
                'el': 'c'
            }))

        e = Enum('e', 'help', registry=None, labelnames=['e'])
        self.assertRaises(ValueError, e.labels, '')
示例#4
0
 def test_overlapping_labels(self):
     with pytest.raises(ValueError):
         Enum('e', 'help', registry=None, labelnames=['e'])