Source code for fireant.tests.slicer.test_slicer

from unittest import TestCase

from fireant import (
    Dimension,
    Metric,
)
from fireant.slicer.dimensions import DisplayDimension
from .mocks import slicer


[docs]class SlicerContainerTests(TestCase):
[docs] def test_access_metric_via_attr(self): votes = slicer.metrics.votes self.assertIsInstance(votes, Metric) self.assertEqual(votes.key, 'votes')
[docs] def test_access_metric_via_item(self): votes = slicer.metrics['votes'] self.assertIsInstance(votes, Metric) self.assertEqual(votes.key, 'votes')
[docs] def test_access_dimension_via_attr(self): timestamp = slicer.dimensions.timestamp self.assertIsInstance(timestamp, Dimension) self.assertEqual(timestamp.key, 'timestamp')
[docs] def test_access_dimension_via_item(self): timestamp = slicer.dimensions['timestamp'] self.assertIsInstance(timestamp, Dimension) self.assertEqual(timestamp.key, 'timestamp')
[docs] def test_access_dimension_display_via_attr(self): candidate_display = slicer.dimensions.candidate_display self.assertIsInstance(candidate_display, DisplayDimension) self.assertEqual(candidate_display.key, 'candidate_display')
[docs] def test_access_dimension_display_via_item(self): candidate_display = slicer.dimensions['candidate_display'] self.assertIsInstance(candidate_display, DisplayDimension) self.assertEqual(candidate_display.key, 'candidate_display')
[docs] def test_iter_metrics(self): metric_keys = [metric.key for metric in slicer.metrics] self.assertListEqual(metric_keys, ['votes', 'wins', 'voters', 'turnout', 'wins_with_suffix_and_prefix'])
[docs] def test_iter_dimensions(self): dimension_keys = [dimension.key for dimension in slicer.dimensions] self.assertListEqual(dimension_keys, ['timestamp', 'timestamp2', 'join_timestamp', 'political_party', 'candidate', 'election', 'district', 'state', 'winner', 'deepjoin'])