Skip to content

Commit

Permalink
add test
Browse files Browse the repository at this point in the history
  • Loading branch information
3nids committed Dec 16, 2022
1 parent da48658 commit d73510f
Showing 1 changed file with 32 additions and 12 deletions.
44 changes: 32 additions & 12 deletions tests/src/python/test_qgssettingsentry.py
Expand Up @@ -11,9 +11,10 @@
"""

from qgis import core as qgis_core
from qgis.core import Qgis, QgsSettings, QgsSettingsEntryVariant, QgsSettingsEntryString, QgsSettingsEntryStringList, QgsSettingsEntryBool, QgsSettingsEntryInteger, QgsSettingsEntryDouble, QgsSettingsEntryEnumFlag, QgsUnitTypes, QgsMapLayerProxyModel, QgsSettingsEntryGroup
from qgis.core import Qgis, QgsSettings, QgsSettingsEntryVariant, QgsSettingsEntryString, QgsSettingsEntryStringList, QgsSettingsEntryBool, QgsSettingsEntryInteger, QgsSettingsEntryDouble, QgsSettingsEntryEnumFlag, QgsUnitTypes, QgsMapLayerProxyModel, QgsSettingsEntryVariantMap, QgsSettingsEntryGroup
from qgis.testing import start_app, unittest

from qgis.PyQt.QtCore import Qt
from qgis.PyQt.QtGui import QColor

__author__ = 'Damiano Lombardi'
Expand All @@ -36,7 +37,7 @@ def tearDown(self):

def test_settings_entry_base(self):
settingsKey = "settingsEntryBase/variantValue"
settingsKeyComplete = "plugins/{}/{}".format(self.pluginName, settingsKey)
settingsKeyComplete = f"plugins/{self.pluginName}/{settingsKey}"

# Make sure settings does not exists
QgsSettings().remove(settingsKeyComplete)
Expand Down Expand Up @@ -88,7 +89,8 @@ def test_settings_plugin_key(self):
'QgsSettingsEntryInteger': 1,
'QgsSettingsEntryString': 'Hello',
'QgsSettingsEntryStringList': [],
'QgsSettingsEntryVariant': 1
'QgsSettingsEntryVariant': 1,
'QgsSettingsEntryVariantMap': {},
}
self.assertEqual(settings_types, list(hardcoded_types.keys()))
for setting_type, default_value in hardcoded_types.items():
Expand All @@ -100,7 +102,7 @@ def test_settings_plugin_key(self):

def test_settings_entry_base_default_value_override(self):
settingsKey = "settingsEntryBase/defaultValueOverride/variantValue"
settingsKeyComplete = "plugins/{}/{}".format(self.pluginName, settingsKey)
settingsKeyComplete = f"plugins/{self.pluginName}/{settingsKey}"

# Make sure settings does not exists
QgsSettings().remove(settingsKeyComplete)
Expand Down Expand Up @@ -167,7 +169,7 @@ def test_settings_entry_base_dynamic_multiple_keys(self):

def test_settings_entry_variant(self):
settingsKey = "settingsEntryVariant/variantValue"
settingsKeyComplete = "plugins/{}/{}".format(self.pluginName, settingsKey)
settingsKeyComplete = f"plugins/{self.pluginName}/{settingsKey}"

# Make sure settings does not exists
QgsSettings().remove(settingsKeyComplete)
Expand All @@ -189,7 +191,7 @@ def test_settings_entry_variant(self):

def test_settings_entry_string(self):
settingsKey = "settingsEntryString/stringValue"
settingsKeyComplete = "plugins/{}/{}".format(self.pluginName, settingsKey)
settingsKeyComplete = f"plugins/{self.pluginName}/{settingsKey}"

# Make sure settings does not exists
QgsSettings().remove(settingsKeyComplete)
Expand All @@ -211,7 +213,7 @@ def test_settings_entry_string(self):

def test_settings_entry_stringlist(self):
settingsKey = "settingsEntryStringList/stringListValue"
settingsKeyComplete = "plugins/{}/{}".format(self.pluginName, settingsKey)
settingsKeyComplete = f"plugins/{self.pluginName}/{settingsKey}"

# Make sure settings does not exists
QgsSettings().remove(settingsKeyComplete)
Expand All @@ -231,9 +233,27 @@ def test_settings_entry_stringlist(self):
# Settings type
self.assertEqual(settingsEntryStringList.settingsType(), Qgis.SettingsType.StringList)

def test_settings_entry_variantmap(self):
settingsKey = "settingsEntryVariantMap/varriantMapValue"
settingsKeyComplete = f"plugins/{self.pluginName}/{settingsKey}"

# Make sure settings does not exists
QgsSettings().remove(settingsKeyComplete)

defaultValue = {"key0": "value0"}
settingsEntryVariantMap = QgsSettingsEntryVariantMap(settingsKey, self.pluginName, defaultValue)
self.assertEqual(settingsEntryVariantMap.value(), defaultValue)

newValue = {"number": 123, "text": "hi there", "color": QColor(Qt.yellow)}
settingsEntryVariantMap.setValue(newValue)
self.assertEqual(newValue, settingsEntryVariantMap.value())

# Settings type
self.assertEqual(settingsEntryVariantMap.settingsType(), Qgis.SettingsType.VariantMap)

def test_settings_entry_bool(self):
settingsKey = "settingsEntryBool/boolValue"
settingsKeyComplete = "plugins/{}/{}".format(self.pluginName, settingsKey)
settingsKeyComplete = f"plugins/{self.pluginName}/{settingsKey}"

# Make sure settings does not exists
QgsSettings().remove(settingsKeyComplete)
Expand All @@ -255,7 +275,7 @@ def test_settings_entry_bool(self):

def test_settings_entry_integer(self):
settingsKey = "settingsEntryInteger/integerValue"
settingsKeyComplete = "plugins/{}/{}".format(self.pluginName, settingsKey)
settingsKeyComplete = f"plugins/{self.pluginName}/{settingsKey}"

# Make sure settings does not exists
QgsSettings().remove(settingsKeyComplete)
Expand Down Expand Up @@ -283,7 +303,7 @@ def test_settings_entry_integer(self):

def test_settings_entry_double(self):
settingsKey = "settingsEntryDouble/doubleValue"
settingsKeyComplete = "plugins/{}/{}".format(self.pluginName, settingsKey)
settingsKeyComplete = f"plugins/{self.pluginName}/{settingsKey}"

# Make sure settings does not exists
QgsSettings().remove(settingsKeyComplete)
Expand Down Expand Up @@ -311,7 +331,7 @@ def test_settings_entry_double(self):

def test_settings_entry_enum(self):
settingsKey = "settingsEntryEnum/enumValue"
settingsKeyComplete = "plugins/{}/{}".format(self.pluginName, settingsKey)
settingsKeyComplete = f"plugins/{self.pluginName}/{settingsKey}"

# Make sure settings does not exists
QgsSettings().remove(settingsKeyComplete)
Expand Down Expand Up @@ -355,7 +375,7 @@ def test_settings_entry_enum(self):

def test_settings_entry_flag(self):
settingsKey = "settingsEntryFlag/flagValue"
settingsKeyComplete = "plugins/{}/{}".format(self.pluginName, settingsKey)
settingsKeyComplete = f"plugins/{self.pluginName}/{settingsKey}"

pointAndLine = QgsMapLayerProxyModel.Filters(QgsMapLayerProxyModel.PointLayer | QgsMapLayerProxyModel.LineLayer)
pointAndPolygon = QgsMapLayerProxyModel.Filters(QgsMapLayerProxyModel.PointLayer | QgsMapLayerProxyModel.PolygonLayer)
Expand Down

0 comments on commit d73510f

Please sign in to comment.