예제 #1
0
    def test_state_logic(self):
        """
        Test that the logic involving button states is correct
        """
        w = QgsMultiEditToolButton()
        self.assertEqual(w.state(), QgsMultiEditToolButton.Default)

        # set is changed should update state to changed
        w.setIsChanged(True)
        self.assertEqual(w.state(), QgsMultiEditToolButton.Changed)
        w.setIsChanged(False)
        self.assertEqual(w.state(), QgsMultiEditToolButton.Default)
        #resetting changes should fall back to default state
        w.setIsChanged(True)
        w.resetChanges()
        self.assertEqual(w.state(), QgsMultiEditToolButton.Default)
        #setting changes committed should result in default state
        w.setIsChanged(True)
        w.changesCommitted()
        self.assertEqual(w.state(), QgsMultiEditToolButton.Default)

        #Test with mixed values
        w.setIsMixed(True)
        self.assertEqual(w.state(), QgsMultiEditToolButton.MixedValues)
        #changed state takes priority over mixed state
        w.setIsChanged(True)
        self.assertEqual(w.state(), QgsMultiEditToolButton.Changed)
        w.setIsChanged(False)
        #should reset to mixed state
        self.assertEqual(w.state(), QgsMultiEditToolButton.MixedValues)
        #resetting changes should fall back to mixed state
        w.setIsChanged(True)
        w.resetChanges()
        self.assertEqual(w.state(), QgsMultiEditToolButton.MixedValues)
        #setting changes committed should result in default state
        w.setIsChanged(True)
        w.changesCommitted()
        self.assertEqual(w.state(), QgsMultiEditToolButton.Default)
예제 #2
0
    def test_state_logic(self):
        """
        Test that the logic involving button states is correct
        """
        w = QgsMultiEditToolButton()
        self.assertEqual(w.state(), QgsMultiEditToolButton.Default)

        # set is changed should update state to changed
        w.setIsChanged(True)
        self.assertEqual(w.state(), QgsMultiEditToolButton.Changed)
        w.setIsChanged(False)
        self.assertEqual(w.state(), QgsMultiEditToolButton.Default)
        # resetting changes should fall back to default state
        w.setIsChanged(True)
        w.resetChanges()
        self.assertEqual(w.state(), QgsMultiEditToolButton.Default)
        # setting changes committed should result in default state
        w.setIsChanged(True)
        w.changesCommitted()
        self.assertEqual(w.state(), QgsMultiEditToolButton.Default)

        # Test with mixed values
        w.setIsMixed(True)
        self.assertEqual(w.state(), QgsMultiEditToolButton.MixedValues)
        # changed state takes priority over mixed state
        w.setIsChanged(True)
        self.assertEqual(w.state(), QgsMultiEditToolButton.Changed)
        w.setIsChanged(False)
        # should reset to mixed state
        self.assertEqual(w.state(), QgsMultiEditToolButton.MixedValues)
        # resetting changes should fall back to mixed state
        w.setIsChanged(True)
        w.resetChanges()
        self.assertEqual(w.state(), QgsMultiEditToolButton.MixedValues)
        # setting changes committed should result in default state
        w.setIsChanged(True)
        w.changesCommitted()
        self.assertEqual(w.state(), QgsMultiEditToolButton.Default)