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, thePrimaryKeywordsOnlyFlag=True): """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_removeItemByValue(self): """Test remove item by its value works""" makePadangLayer() myDialog = ISKeywordsDialog(PARENT, IFACE) myDialog.removeItemByValue('hazard') myKeywords = myDialog.getKeywords() myExpectedKeywords = {'title': 'Padang 2009 scenario', 'subcategory': 'earthquake', 'unit': 'MMI'} myMessage = ('\nGot: %s\nExpected: %s\n' % (myKeywords, myExpectedKeywords)) assert myKeywords == myExpectedKeywords, 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_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_loadStateFromKeywords(self): """Test load state from keywords works""" myDialog = ISKeywordsDialog(PARENT, IFACE) myLayer = makePadangLayer() myDialog.layer = myLayer myDialog.loadStateFromKeywords() myKeywords = myDialog.getKeywords() myExpectedKeywords = {'title': 'Shakemap_Padang_2009', 'category': 'hazard', 'subcategory': 'earthquake', 'unit': 'MMI'} myMessage = ('\nGot: %s\nExpected: %s\n' % (myKeywords, myExpectedKeywords)) assert myKeywords == myExpectedKeywords, myMessage #check that a default title is given (see #https://github.com/AIFDR/inasafe/issues/111) myMessage = ('Expected title to be defaulted from ' 'filename but it was not.') assert myDialog.leTitle.text() == myDialog.layer.name(), 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
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 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