1616
1616
return keys, sort_order
1618
def get_keys_and_groupcompress_sort_order(self):
1619
"""Get diamond test keys list, and their groupcompress sort ordering."""
1620
if self.key_length == 1:
1621
keys = [('merged',), ('left',), ('right',), ('base',)]
1622
sort_order = {('merged',):0, ('left',):1, ('right',):1, ('base',):2}
1625
('FileA', 'merged'), ('FileA', 'left'), ('FileA', 'right'),
1627
('FileB', 'merged'), ('FileB', 'left'), ('FileB', 'right'),
1631
('FileA', 'merged'):0, ('FileA', 'left'):1, ('FileA', 'right'):1,
1632
('FileA', 'base'):2,
1633
('FileB', 'merged'):3, ('FileB', 'left'):4, ('FileB', 'right'):4,
1634
('FileB', 'base'):5,
1636
return keys, sort_order
1618
1638
def test_get_record_stream_interface_ordered(self):
1619
1639
"""each item in a stream has to provide a regular interface."""
1620
1640
files = self.get_versionedfiles()
1649
1669
self.assertStreamOrder(sort_order, seen, keys)
1671
def test_get_record_stream_interface_groupcompress(self):
1672
"""each item in a stream has to provide a regular interface."""
1673
files = self.get_versionedfiles()
1674
self.get_diamond_files(files)
1675
keys, sort_order = self.get_keys_and_groupcompress_sort_order()
1676
parent_map = files.get_parent_map(keys)
1677
entries = files.get_record_stream(keys, 'groupcompress', False)
1679
self.capture_stream(files, entries, seen.append, parent_map)
1680
self.assertStreamOrder(sort_order, seen, keys)
1651
1682
def assertStreamOrder(self, sort_order, seen, keys):
1652
1683
self.assertEqual(len(set(seen)), len(keys))
1653
1684
if self.key_length == 1: