def test_default_values(self): """Verify group by with two items""" stops = GroupedData('year', defaults={'race1': 0, 'race2': 0}) stops.add(year=2010, race1=10) stops.add(year=2011, race2=10) expected = [{'year': 2010, 'race1': 10, 'race2': 0}, {'year': 2011, 'race1': 0, 'race2': 10}] self.assertEqual(stops.flatten(), expected)
def test_single_item_group(self): """Verify group by with single item""" stops = GroupedData(by='year') stops.add(year=2010, race1=10) stops.add(year=2010, race2=10) stops.add(year=2011, race1=5) stops.add(year=2011, race2=5) expected = [{'year': 2010, 'race1': 10, 'race2': 10}, {'year': 2011, 'race1': 5, 'race2': 5}] self.assertEqual(stops.flatten(), expected)
def test_default_values(self): """Verify group by with two items""" stops = GroupedData("year", defaults={"race1": 0, "race2": 0}) stops.add(year=2010, race1=10) stops.add(year=2011, race2=10) expected = [ {"year": 2010, "race1": 10, "race2": 0}, {"year": 2011, "race1": 0, "race2": 10}, ] self.assertEqual(stops.flatten(), expected)
def test_pair_item_group(self): """Verify group by with two items""" stops = GroupedData(by=('purpose', 'year')) stops.add(purpose='Checkpoint', year=2010, race1=10) stops.add(purpose='Checkpoint', year=2010, race2=10) stops.add(purpose='Checkpoint', year=2011, race1=5) stops.add(purpose='Checkpoint', year=2011, race2=5) expected = [{'purpose': 'Checkpoint', 'year': 2010, 'race1': 10, 'race2': 10}, {'purpose': 'Checkpoint', 'year': 2011, 'race1': 5, 'race2': 5}] self.assertEqual(stops.flatten(), expected)
def test_single_item_group(self): """Verify group by with single item""" stops = GroupedData(by="year") stops.add(year=2010, race1=10) stops.add(year=2010, race2=10) stops.add(year=2011, race1=5) stops.add(year=2011, race2=5) expected = [ {"year": 2010, "race1": 10, "race2": 10}, {"year": 2011, "race1": 5, "race2": 5}, ] self.assertEqual(stops.flatten(), expected)
def test_pair_item_group(self): """Verify group by with two items""" stops = GroupedData(by=("purpose", "year")) stops.add(purpose="Checkpoint", year=2010, race1=10) stops.add(purpose="Checkpoint", year=2010, race2=10) stops.add(purpose="Checkpoint", year=2011, race1=5) stops.add(purpose="Checkpoint", year=2011, race2=5) expected = [ {"purpose": "Checkpoint", "year": 2010, "race1": 10, "race2": 10}, {"purpose": "Checkpoint", "year": 2011, "race1": 5, "race2": 5}, ] self.assertEqual(stops.flatten(), expected)
def test_default_values(self): """Verify group by with two items""" stops = GroupedData('year', defaults={'race1': 0, 'race2': 0}) stops.add(year=2010, race1=10) stops.add(year=2011, race2=10) expected = [{ 'year': 2010, 'race1': 10, 'race2': 0 }, { 'year': 2011, 'race1': 0, 'race2': 10 }] self.assertEqual(stops.flatten(), expected)
def test_single_item_group(self): """Verify group by with single item""" stops = GroupedData(by='year') stops.add(year=2010, race1=10) stops.add(year=2010, race2=10) stops.add(year=2011, race1=5) stops.add(year=2011, race2=5) expected = [{ 'year': 2010, 'race1': 10, 'race2': 10 }, { 'year': 2011, 'race1': 5, 'race2': 5 }] self.assertEqual(stops.flatten(), expected)
def test_pair_item_group(self): """Verify group by with two items""" stops = GroupedData(by=('purpose', 'year')) stops.add(purpose='Checkpoint', year=2010, race1=10) stops.add(purpose='Checkpoint', year=2010, race2=10) stops.add(purpose='Checkpoint', year=2011, race1=5) stops.add(purpose='Checkpoint', year=2011, race2=5) expected = [{ 'purpose': 'Checkpoint', 'year': 2010, 'race1': 10, 'race2': 10 }, { 'purpose': 'Checkpoint', 'year': 2011, 'race1': 5, 'race2': 5 }] self.assertEqual(stops.flatten(), expected)