Exemplo n.º 1
0
    def test_data(self):
        model = ContinuousPalettesModel()
        model.items = ["Palettes", self.palette1, self.palette2]
        data = model.data
        index = model.index

        self.assertEqual(data(index(0, 0), Qt.EditRole), "Palettes")
        self.assertEqual(data(index(1, 0), Qt.EditRole),
                         self.palette1.friendly_name)
        self.assertEqual(data(index(2, 0), Qt.EditRole),
                         self.palette2.friendly_name)

        self.assertEqual(data(index(0, 0), Qt.DisplayRole), "Palettes")
        self.assertEqual(data(index(1, 0), Qt.DisplayRole),
                         self.palette1.friendly_name)
        self.assertEqual(data(index(2, 0), Qt.DisplayRole),
                         self.palette2.friendly_name)

        self.assertIsNone(data(index(0, 0), Qt.DecorationRole))
        with patch.object(self.palette1, "color_strip") as color_strip:
            self.assertIs(data(index(1, 0), Qt.DecorationRole),
                          color_strip.return_value)
        with patch.object(self.palette2, "color_strip") as color_strip:
            self.assertIs(data(index(2, 0), Qt.DecorationRole),
                          color_strip.return_value)

        self.assertIsNone(data(index(0, 0), Qt.UserRole))
        self.assertIs(data(index(1, 0), Qt.UserRole), self.palette1)
        self.assertIs(data(index(2, 0), Qt.UserRole), self.palette2)

        self.assertIsNone(data(index(2, 0), Qt.FontRole))
Exemplo n.º 2
0
 def testIndexOf(self):
     model = ContinuousPalettesModel()
     model.items = ["Palettes", self.palette1, self.palette2]
     self.assertEqual(model.indexOf(self.palette1), 1)
     self.assertEqual(model.indexOf(self.palette1.name), 1)
     self.assertEqual(model.indexOf(self.palette1.friendly_name), 1)
     self.assertEqual(model.indexOf(self.palette2), 2)
     self.assertEqual(model.indexOf(self.palette2.name), 2)
     self.assertEqual(model.indexOf(self.palette2.friendly_name), 2)
     self.assertIsNone(model.indexOf(42))
Exemplo n.º 3
0
 def test_single_category(self):
     category = 'Diverging'
     model = ContinuousPalettesModel(categories=(category, ))
     shown = {palette.name
              for palette in model.items
              if isinstance(palette, colorpalettes.Palette)}
     expected = {palette.name
                 for palette in colorpalettes.ContinuousPalettes.values()
                 if palette.category == category}
     self.assertEqual(expected, shown)
     self.assertEqual(len(model.items), len(shown))
Exemplo n.º 4
0
 def test_category_selection(self):
     categories = ('Diverging', 'Linear')
     model = ContinuousPalettesModel(categories=categories)
     shown = {palette.name
              for palette in model.items
              if isinstance(palette, colorpalettes.Palette)}
     expected = {palette.name
                 for palette in colorpalettes.ContinuousPalettes.values()
                 if palette.category in categories}
     self.assertEqual(expected, shown)
     self.assertIn("Diverging", model.items)
     self.assertIn("Linear", model.items)
Exemplo n.º 5
0
    def test_all_categories(self):
        model = ContinuousPalettesModel()
        shown = {palette.name for palette in model.items
                 if isinstance(palette, colorpalettes.Palette)}
        expected = {palette.name
                    for palette in colorpalettes.ContinuousPalettes.values()}
        self.assertEqual(expected, shown)

        shown = {name for name in model.items if isinstance(name, str)}
        expected = {palette.category
                    for palette in colorpalettes.ContinuousPalettes.values()}
        self.assertEqual(expected, shown)
Exemplo n.º 6
0
 def test_select_flags(self):
     model = ContinuousPalettesModel()
     model.items = ["Palettes", self.palette1, self.palette2]
     self.assertFalse(model.flags(model.index(0, 0)) & Qt.ItemIsSelectable)
     self.assertTrue(model.flags(model.index(1, 0)) & Qt.ItemIsSelectable)
     self.assertTrue(model.flags(model.index(2, 0)) & Qt.ItemIsSelectable)
Exemplo n.º 7
0
 def test_count(self):
     model = ContinuousPalettesModel()
     model.items = [self.palette1, self.palette1]
     self.assertEqual(model.rowCount(QModelIndex()), 2)
     self.assertEqual(model.columnCount(QModelIndex()), 1)