MCPcopy
hub / github.com/burnash/gspread / test_sort

Method test_sort

tests/worksheet_test.py:660–711  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

658
659 @pytest.mark.vcr()
660 def test_sort(self):
661 rows = [
662 ["Apple", "2012", "4"],
663 ["Banana", "2013", "3"],
664 ["Canada", "2007", "1"],
665 ["Dinosaur", "2013", "6"],
666 ["Elephant", "2019", "2"],
667 ["Fox", "2077", "5"],
668 ]
669
670 self.sheet.resize(6, 3)
671 cell_list = self.sheet.range("A1:C6")
672 for c, v in zip(cell_list, itertools.chain(*rows)):
673 c.value = v
674 self.sheet.update_cells(cell_list)
675
676 specs = [
677 (3, "asc"),
678 ]
679 self.sheet.sort(*specs, range="A1:C6")
680 rows = sorted(rows, key=lambda x: int(x[2]), reverse=False)
681 self.assertEqual(self.sheet.get_all_values(), rows)
682
683 specs = [
684 (1, "des"),
685 ]
686 self.sheet.sort(*specs, range="A1:C6")
687 rows = sorted(rows, key=lambda x: x[0], reverse=True)
688 self.assertEqual(self.sheet.get_all_values(), rows)
689
690 specs = [
691 (2, "asc"),
692 (3, "asc"),
693 ]
694 self.sheet.sort(*specs, range="A1:C6")
695 rows = sorted(rows, key=lambda x: (x[1], int(x[2])), reverse=False)
696 self.assertEqual(self.sheet.get_all_values(), rows)
697
698 specs = [
699 (3, "asc"),
700 ]
701 self.sheet.sort(*specs)
702 rows = sorted(rows, key=lambda x: int(x[2]), reverse=False)
703 self.assertEqual(self.sheet.get_all_values(), rows)
704
705 specs = [
706 (3, "des"),
707 ]
708 self.sheet._properties["gridProperties"]["frozenRowCount"] = 1
709 self.sheet.sort(*specs)
710 rows = [rows[0]] + sorted(rows[1:], key=lambda x: int(x[2]), reverse=True)
711 self.assertEqual(self.sheet.get_all_values(), rows)
712
713 @pytest.mark.vcr()
714 def test_freeze(self):

Callers

nothing calls this directly

Calls 5

resizeMethod · 0.80
update_cellsMethod · 0.80
sortMethod · 0.80
get_all_valuesMethod · 0.80
rangeMethod · 0.45

Tested by

no test coverage detected