def test_getValueForKey(self):
     """Test get value for key works"""
     makePadangLayer()
     myDialog = ISKeywordsDialog(PARENT, IFACE)
     myExpectedValue = 'hazard'
     myValue = myDialog.getValueForKey('category')
     myMessage = ('\nExpected key value of %s\nGot %s' %
                  (myExpectedValue, myValue))
     assert myValue == myExpectedValue, myMessage
 def test_on_radHazard_toggled(self):
     """Test hazard radio button toggle behaviour works"""
     myDialog = ISKeywordsDialog(PARENT, IFACE)
     myButton = myDialog.radHazard
     myButton.setChecked(False)
     QTest.mouseClick(myButton, QtCore.Qt.LeftButton)
     myMessage = ('Toggling the hazard radio did not add a category '
                  'to the keywords list.')
     assert myDialog.getValueForKey('category') == 'hazard', myMessage
 def test_reset(self):
     """Test form reset works"""
     myDialog = ISKeywordsDialog(PARENT, IFACE)
     myDialog.leTitle.setText('Foo')
     myDialog.reset(False)
     myExpectedResult = ''
     myResult = myDialog.leTitle.text()
     myMessage = ('\nGot: %s\nExpected: %s\n' %
                  (myResult, myExpectedResult))
     assert myResult == myExpectedResult, myMessage
    def Xtest_on_radExposure_toggled(self):
        """Test exposure radio button toggle behaviour works"""

        # Cannot get this test to work, but it works fine in the gui
        myDialog = ISKeywordsDialog(PARENT, IFACE)
        myButton = myDialog.radExposure
        myButton.setChecked(False)
        QTest.mouseClick(myButton, QtCore.Qt.LeftButton)
        myMessage = ('Toggling the exposure radio did not add a category '
                     'to the keywords list.')
        assert myDialog.getValueForKey('category') == 'exposure', myMessage
 def test_addWarningsForColons(self):
     """Test add entry to list works"""
     myDialog = ISKeywordsDialog(PARENT, IFACE)
     myDialog.reset(False)
     myDialog.addListEntry('bar', 'fo:o')
     myResult = myDialog.getValueForKey('bar')
     myExpectedResult = 'fo.o'
     myMessage = ('\nGot: %s\nExpected: %s\n' %
                  (myResult, myExpectedResult))
     #print 'Dict', myDialog.getKeywords()
     assert myResult == myExpectedResult, myMessage
     #
     # Check the user gets a message if they put colons in the value
     #
     myExpectedResult = 'Colons are not allowed, replaced with "."'
     myResult = str(myDialog.lblMessage.text())
     myMessage = ('lblMessage error \nGot: %s\nExpected: %s\n' %
                  (myResult, myExpectedResult))
     #print 'Dict', myDialog.getKeywords()
     assert myResult == myExpectedResult, myMessage
     #
     # Check the user gets a message if they put colons in the key
     #
     myDialog.addListEntry('ba:r', 'foo')
     myExpectedResult = 'Colons are not allowed, replaced with "."'
     myResult = str(myDialog.lblMessage.text())
     myMessage = ('lblMessage error \nGot: %s\nExpected: %s\n' %
                  (myResult, myExpectedResult))
     #print 'Dict', myDialog.getKeywords()
     assert myResult == myExpectedResult, myMessage
    def test_removeItemByValue(self):
        """Test remove item by its value works"""
        makePadangLayer()
        myDialog = ISKeywordsDialog(PARENT, IFACE)
        myDialog.removeItemByValue('hazard')

        myKeywords = myDialog.getKeywords()
        myExpectedKeywords = {'title': 'An earthquake in Padang like in 2009',
                              'subcategory': 'earthquake',
                              'unit': 'MMI'}
        myMessage = ('\nGot: %s\nExpected: %s\n' %
                     (myKeywords, myExpectedKeywords))

        assert myKeywords == myExpectedKeywords, myMessage
 def test_checkStateWhenKeywordsAbsent(self):
     """Test load state from keywords works"""
     myDialog = ISKeywordsDialog(PARENT, IFACE)
     myLayer = makeKeywordlessLayer()
     myDialog.layer = myLayer
     myDialog.loadStateFromKeywords()
     myKeywords = myDialog.getKeywords()
     #check that a default title is given (see
     #https://github.com/AIFDR/inasafe/issues/111)
     myExpectedKeywords = {'category': 'exposure',
                           'title': 'Keywordless Layer'}
     myMessage = ('\nGot: %s\nExpected: %s\n' %
                  (myKeywords, myExpectedKeywords))
     assert myKeywords == myExpectedKeywords, myMessage
    def test_loadStateFromKeywords(self):
        """Test load state from keywords works"""
        myDialog = ISKeywordsDialog(PARENT, IFACE)
        myLayer = makePadangLayer()
        myDialog.layer = myLayer
        myDialog.loadStateFromKeywords()
        myKeywords = myDialog.getKeywords()

        myExpectedKeywords = {'title': 'An earthquake in Padang like in 2009',
                              'category': 'hazard',
                              'subcategory': 'earthquake',
                              'unit': 'MMI'}
        myMessage = ('\nGot: %s\nExpected: %s\n' %
                     (myKeywords, myExpectedKeywords))
        assert myKeywords == myExpectedKeywords, myMessage
 def test_on_cboSubcategory_currentIndexChanged(self):
     """Test subcategory combo change event works"""
     myDialog = ISKeywordsDialog(PARENT, IFACE)
     myButton = myDialog.radHazard
     myButton.setChecked(True)
     myButton = myDialog.radExposure
     QTest.mouseClick(myButton, QtCore.Qt.LeftButton)
     myCombo = myDialog.cboSubcategory
     QTest.mouseClick(myCombo, QtCore.Qt.LeftButton)
     QTest.keyClick(myCombo, QtCore.Qt.Key_Up)
     QTest.keyClick(myCombo, QtCore.Qt.Key_Enter)
     myMessage = ('Changing the subcategory did not add '
                  'to the keywords list for %s' %
                  myCombo.currentText())
     myKey = myDialog.getValueForKey('subcategory')
     assert myKey is not None, myMessage
     assert myKey in str(myCombo.currentText()), myMessage
    def test_on_pbnRemove_clicked(self):
        """Test pressing remove works on key list"""
        myDialog = ISKeywordsDialog(PARENT, IFACE)
        myDialog.reset(False)

        myResult = myDialog.lstKeywords.count()
        myExpectedResult = 0
        myMessage = ('\nGot: %s\nExpected: %s\n' %
                     (myResult, myExpectedResult))
        #print 'Dict', myDialog.getKeywords()
        assert myResult == myExpectedResult, myMessage

        myDialog.addListEntry('bar', 'foo')
        myResult = myDialog.lstKeywords.count()
        myExpectedResult = 1
        myMessage = ('\nGot: %s\nExpected: %s\n' %
                     (myResult, myExpectedResult))
        #print 'Dict', myDialog.getKeywords()
        assert myResult == myExpectedResult, myMessage
    def test_setSubcategoryList(self):
        """Test set subcategory list works"""
        myDialog = ISKeywordsDialog(PARENT, IFACE)
        myList = OrderedDict([('population [density]',
                                      'population [density]'),
                                     ('population [count]',
                                      'population [count]'),
                                     ('building',
                                      'building'),
                                     ('building [osm]',
                                      'building [osm]'),
                                     ('building [sigab]',
                                      'building [sigab]'),
                                     ('roads',
                                      'roads')])
        mySelectedItem = 'building'
        myDialog.setSubcategoryList(myList, mySelectedItem)
        myResult = str(myDialog.cboSubcategory.currentText())
        myMessage = ('\nGot: %s\nExpected: %s\n' %
                     (myResult, mySelectedItem))

        assert myResult == mySelectedItem, myMessage
 def test_removeItemByKey(self):
     """Test remove item by its key works"""
     myDialog = ISKeywordsDialog(PARENT, IFACE)
     myDialog.reset(False)
     myDialog.addListEntry('bar', 'foo')
     myDialog.removeItemByKey('bar')
     myResult = myDialog.lstKeywords.count()
     myExpectedResult = 0
     myMessage = ('\nGot: %s\nExpected: %s\n' %
                  (myResult, myExpectedResult))
     #print 'Dict', myDialog.getKeywords()
     assert myResult == myExpectedResult, myMessage
Exemple #13
0
    def showKeywordsEditor(self):
        """Show the keywords editor.

        This slot is called when the user clicks the keyword editor toolbar
        icon or menu item associated with this plugin

        .. see also:: :func:`ISPlugin.initGui`.

        Args:
           None.
        Returns:
           None.
        Raises:
           no exceptions explicitly raised.
        """
        # import here only so that it is AFTER i18n set up
        from gui.is_keywords_dialog import ISKeywordsDialog

        if self.iface.activeLayer() is None:
            return
        myDialog = ISKeywordsDialog(self.iface.mainWindow(),
                                      self.iface,
                                      self.dockWidget)
        myDialog.show()
 def test_setCategory(self):
     """Test set category works"""
     myDialog = ISKeywordsDialog(PARENT, IFACE)
     myDialog.reset(False)
     myDialog.setCategory('hazard')
     myExpectedResult = 'hazard'
     myResult = myDialog.getValueForKey('category')
     myMessage = ('\nGot: %s\nExpected: %s\n' %
                  (myResult, myExpectedResult))
     #print 'Dict', myDialog.getKeywords()
     assert myResult == myExpectedResult, myMessage
 def test_addListEntry(self):
     """Test add entry to list works"""
     myDialog = ISKeywordsDialog(PARENT, IFACE)
     myDialog.reset(False)
     myDialog.addListEntry('bar', 'foo')
     myResult = myDialog.getValueForKey('bar')
     myExpectedResult = 'foo'
     myMessage = ('\nGot: %s\nExpected: %s\n' %
                  (myResult, myExpectedResult))
     #print 'Dict', myDialog.getKeywords()
     assert myResult == myExpectedResult, myMessage
 def test_on_pbnAddToList2_clicked(self):
     """Test adding an item to the list using user defened form works"""
     myDialog = ISKeywordsDialog(PARENT, IFACE)
     myDialog.reset(False)
     myDialog.radUserDefined.setChecked(True)
     myDialog.leKey.setText('foo')
     myDialog.leValue.setText('bar')
     myExpectedResult = 'bar'
     myDialog.lePredefinedValue.setText(myExpectedResult)
     # Work around for commented out line below
     myDialog.on_pbnAddToList2_clicked()
     #QTest.mouseClick(myDialog.pbnAddToList2, QtCore.Qt.LeftButton)
     myResult = myDialog.getValueForKey('foo')
     myMessage = ('\nGot: %s\nExpected: %s\n' %
                  (myResult, myExpectedResult))
     print 'Dict', myDialog.getKeywords()
     assert myResult == myExpectedResult, myMessage
    def test_on_pbnAddToList1_clicked(self):
        """Test adding an item to the list using predefined form works"""
        myDialog = ISKeywordsDialog(PARENT, IFACE)
        myDialog.reset(False)
        myDialog.radPredefined.setChecked(True)
        myDialog.cboKeyword.setCurrentIndex(2)
        myExpectedResult = 'foo'
        myDialog.lePredefinedValue.setText(myExpectedResult)
        # Work around for commented out line below
        myDialog.on_pbnAddToList1_clicked()
        #QTest.mouseClick(myDialog.pbnAddToList1, QtCore.Qt.LeftButton)
        myResult = myDialog.getValueForKey('datatype')
        myMessage = ('\nGot: %s\nExpected: %s\n' %
                     (myResult, myExpectedResult))

        assert myResult == myExpectedResult, myMessage