def test_data_BackgroundRole(self):
     settings = Settings(['domain1'], ['set1'], {})
     model = GAMSSetListModel(settings)
     index = model.index(0, 0)
     self.assertEqual(index.data(Qt.BackgroundRole), QColor(Qt.lightGray))
     index = model.index(1, 0)
     self.assertEqual(index.data(Qt.BackgroundRole), None)
 def test_moveRows_move_domain_row_down(self):
     settings = Settings(
         ['domain1', 'domain2', 'domain3'],
         [],
         {},
         [
             SetMetadata(ExportFlag.EXPORTABLE),
             SetMetadata(ExportFlag.NON_EXPORTABLE),
             SetMetadata(ExportFlag.FORCED_NON_EXPORTABLE),
         ],
     )
     model = GAMSSetListModel(settings)
     self.assertTrue(model.moveRows(QModelIndex(), 0, 1, QModelIndex(), 1))
     self.assertEqual(settings.sorted_domain_names, ['domain2', 'domain1', 'domain3'])
     self.assertEqual(
         settings.domain_metadatas,
         [
             SetMetadata(ExportFlag.NON_EXPORTABLE),
             SetMetadata(ExportFlag.EXPORTABLE),
             SetMetadata(ExportFlag.FORCED_NON_EXPORTABLE),
         ],
     )
     self.assertTrue(model.moveRows(QModelIndex(), 1, 1, QModelIndex(), 2))
     self.assertEqual(settings.sorted_domain_names, ['domain2', 'domain3', 'domain1'])
     self.assertEqual(
         settings.domain_metadatas,
         [
             SetMetadata(ExportFlag.NON_EXPORTABLE),
             SetMetadata(ExportFlag.FORCED_NON_EXPORTABLE),
             SetMetadata(ExportFlag.EXPORTABLE),
         ],
     )
     self.assertFalse(model.moveRows(QModelIndex(), 2, 1, QModelIndex(), 3))
 def test_data_DisplayRole(self):
     settings = Settings(['domain1'], ['set1'], {})
     model = GAMSSetListModel(settings)
     index = model.index(0, 0)
     self.assertEqual(index.data(), "domain1")
     index = model.index(1, 0)
     self.assertEqual(index.data(), "set1")
 def test_moveRows_move_set_row_up(self):
     settings = Settings(
         [],
         ['set1', 'set2', 'set3'],
         {},
         [],
         [
             SetMetadata(ExportFlag.NON_EXPORTABLE),
             SetMetadata(ExportFlag.FORCED_NON_EXPORTABLE),
             SetMetadata(ExportFlag.EXPORTABLE),
         ],
     )
     model = GAMSSetListModel(settings)
     self.assertTrue(model.moveRows(QModelIndex(), 2, 1, QModelIndex(), 1))
     self.assertEqual(settings.sorted_set_names, ['set1', 'set3', 'set2'])
     self.assertEqual(
         settings.set_metadatas,
         [
             SetMetadata(ExportFlag.NON_EXPORTABLE),
             SetMetadata(ExportFlag.EXPORTABLE),
             SetMetadata(ExportFlag.FORCED_NON_EXPORTABLE),
         ],
     )
     self.assertTrue(model.moveRows(QModelIndex(), 1, 1, QModelIndex(), 0))
     self.assertEqual(settings.sorted_set_names, ['set3', 'set1', 'set2'])
     self.assertEqual(
         settings.set_metadatas,
         [
             SetMetadata(ExportFlag.EXPORTABLE),
             SetMetadata(ExportFlag.NON_EXPORTABLE),
             SetMetadata(ExportFlag.FORCED_NON_EXPORTABLE),
         ],
     )
     self.assertFalse(model.moveRows(QModelIndex(), 0, 1, QModelIndex(), -1))
 def test_setData_CheckStateRole(self):
     settings = Settings(['domain1'], ['set1'], {})
     model = GAMSSetListModel(settings)
     index = model.index(0, 0)
     model.setData(index, Qt.Unchecked, Qt.CheckStateRole)
     self.assertEqual(settings.domain_metadatas[0], SetMetadata(ExportFlag.NON_EXPORTABLE))
     index = model.index(1, 0)
     model.setData(index, Qt.Unchecked, Qt.CheckStateRole)
     self.assertEqual(settings.set_metadatas[0], SetMetadata(ExportFlag.NON_EXPORTABLE))
 def test_data_CheckStateRole(self):
     settings = Settings(
         ['domain1'],
         ['set1'],
         {},
         [SetMetadata(ExportFlag.NON_EXPORTABLE)],
         [SetMetadata(ExportFlag.NON_EXPORTABLE)],
     )
     model = GAMSSetListModel(settings)
     index = model.index(0, 0)
     self.assertEqual(index.data(Qt.CheckStateRole), Qt.Unchecked)
     index = model.index(1, 0)
     self.assertEqual(index.data(Qt.CheckStateRole), Qt.Unchecked)
 def test_is_domain(self):
     settings = Settings(['domain1'], ['set1'], {})
     model = GAMSSetListModel(settings)
     self.assertTrue(model.is_domain(model.index(0, 0)))
     self.assertFalse(model.is_domain(model.index(1, 0)))
 def test_headerData(self):
     settings = Settings([], [], {})
     model = GAMSSetListModel(settings)
     self.assertEqual(model.headerData(0, Qt.Horizontal), "")
 def test_flags(self):
     settings = Settings(['domain1'], ['set1'], {})
     model = GAMSSetListModel(settings)
     flags = model.flags(model.index(0, 0))
     self.assertEqual(flags, Qt.ItemIsEnabled | Qt.ItemIsSelectable | Qt.ItemIsUserCheckable)
 def test_rowCount(self):
     settings = Settings(['domain1'], ['set1'], {})
     model = GAMSSetListModel(settings)
     self.assertEqual(model.rowCount(), 2)
 def test_moveRows_set_cannot_cross_to_domains(self):
     settings = Settings(['domain1'], ['set1'], {})
     model = GAMSSetListModel(settings)
     self.assertFalse(model.moveRows(QModelIndex(), 1, 1, QModelIndex(), 0))