diff --git a/tests/test_base/test_base_common.py b/tests/test_base/test_base_common.py index e93026b2..aa2d44e1 100644 --- a/tests/test_base/test_base_common.py +++ b/tests/test_base/test_base_common.py @@ -29,8 +29,8 @@ from tools import writeFile from novelwriter.guimain import GuiMain from novelwriter.common import ( - checkString, checkInt, checkFloat, checkBool, checkHandle, isHandle, - isTitleTag, isItemClass, isItemType, isItemLayout, hexToInt, checkIntRange, + checkStringNone, checkString, checkInt, checkFloat, checkBool, checkHandle, + isHandle, isTitleTag, isItemClass, isItemType, isItemLayout, hexToInt, minmax, checkIntTuple, formatInt, formatTimeStamp, formatTime, simplified, splitVersionNumber, transferCase, fuzzyTime, numberToRoman, jsonEncode, readTextFile, makeFileNameSafe, ensureFolder, sha256sum, getGuiItem, @@ -38,17 +38,29 @@ from novelwriter.common import ( ) +@pytest.mark.base +def testBaseCommon_CheckStringNone(): + """Test the checkStringNone function. + """ + assert checkStringNone("Stuff", "NotNone") == "Stuff" + assert checkStringNone("None", "NotNone") is None + assert checkStringNone(None, "NotNone") is None + assert checkStringNone(1, "NotNone") == "NotNone" + assert checkStringNone(1.0, "NotNone") == "NotNone" + assert checkStringNone(True, "NotNone") == "NotNone" + +# END Test testBaseCommon_CheckStringNone + + @pytest.mark.base def testBaseCommon_CheckString(): """Test the checkString function. """ - assert checkString(None, "NotNone", True) is None - assert checkString("None", "NotNone", True) is None - assert checkString("None", "NotNone", False) == "None" - assert checkString(None, "NotNone", False) == "NotNone" - assert checkString(1, "NotNone", False) == "NotNone" - assert checkString(1.0, "NotNone", False) == "NotNone" - assert checkString(True, "NotNone", False) == "NotNone" + assert checkString("None", "NotNone") == "None" + assert checkString(None, "NotNone") == "NotNone" + assert checkString(1, "NotNone") == "NotNone" + assert checkString(1.0, "NotNone") == "NotNone" + assert checkString(True, "NotNone") == "NotNone" # END Test testBaseCommon_CheckString @@ -57,12 +69,12 @@ def testBaseCommon_CheckString(): def testBaseCommon_CheckInt(): """Test the checkInt function. """ - assert checkInt(None, 3, True) is None - assert checkInt("None", 3, True) is None - assert checkInt(None, 3, False) == 3 - assert checkInt(1, 3, False) == 1 - assert checkInt(1.0, 3, False) == 1 - assert checkInt(True, 3, False) == 1 + assert checkInt(None, 3) == 3 + assert checkInt("1", 3) == 1 + assert checkInt("1.0", 3) == 3 + assert checkInt(1, 3) == 1 + assert checkInt(1.0, 3) == 1 + assert checkInt(True, 3) == 1 # END Test testBaseCommon_CheckInt @@ -71,12 +83,12 @@ def testBaseCommon_CheckInt(): def testBaseCommon_CheckFloat(): """Test the checkFloat function. """ - assert checkFloat(None, 3.0, True) is None - assert checkFloat("None", 3.0, True) is None - assert checkFloat(None, 3.0, False) == 3.0 - assert checkFloat(1, 3.0, False) == 1.0 - assert checkFloat(1.0, 3.0, False) == 1.0 - assert checkFloat(True, 3.0, False) == 1.0 + assert checkFloat(None, 3.0) == 3.0 + assert checkFloat("1", 3.0) == 1.0 + assert checkFloat("1.0", 3.0) == 1.0 + assert checkFloat(1, 3.0) == 1.0 + assert checkFloat(1.0, 3.0) == 1.0 + assert checkFloat(True, 3.0) == 1.0 # END Test testBaseCommon_CheckInt @@ -85,17 +97,18 @@ def testBaseCommon_CheckFloat(): def testBaseCommon_CheckBool(): """Test the checkBool function. """ - assert checkBool(None, 3, True) is None - assert checkBool("None", 3, True) is None - assert checkBool("True", False, False) is True - assert checkBool("False", True, False) is False - assert checkBool("Boo", None, False) is None - assert checkBool(0, None, False) is False - assert checkBool(1, None, False) is True - assert checkBool(2, None, False) is None - assert checkBool(0.0, None, False) is None - assert checkBool(1.0, None, False) is None - assert checkBool(2.0, None, False) is None + assert checkBool("True", False) is True + assert checkBool("False", True) is False + assert checkBool("Boo", False) is False + assert checkBool("Boo", True) is True + assert checkBool(0, True) is False + assert checkBool(1, False) is True + assert checkBool(2, True) is True + assert checkBool(2, False) is False + assert checkBool(0.0, True) is True + assert checkBool(1.0, False) is False + assert checkBool(2.0, True) is True + assert checkBool(2.0, False) is False # END Test testBaseCommon_CheckBool @@ -229,18 +242,6 @@ def testBaseCommon_HexToInt(): # END Test testBaseCommon_HexToInt -@pytest.mark.base -def testBaseCommon_CheckIntRange(): - """Test the checkIntRange function. - """ - assert checkIntRange(5, 0, 9, 3) == 5 - assert checkIntRange(5, 0, 4, 3) == 3 - assert checkIntRange(5, 0, 5, 3) == 5 - assert checkIntRange(0, 0, 5, 3) == 0 - -# END Test testBaseCommon_CheckIntRange - - @pytest.mark.base def testBaseCommon_MinMax(): """Test the minmax function. @@ -311,16 +312,16 @@ def testBaseCommon_SplitVersionNumber(): """Test the splitVersionNumber function. """ # OK Values - assert splitVersionNumber("1") == [1, 0, 0, 10000] - assert splitVersionNumber("1.2") == [1, 2, 0, 10200] - assert splitVersionNumber("1.2.3") == [1, 2, 3, 10203] - assert splitVersionNumber("1.2.3.4") == [1, 2, 3, 10203] - assert splitVersionNumber("99.99.99") == [99, 99, 99, 999999] + assert splitVersionNumber("1") == (1, 0, 0, 10000) + assert splitVersionNumber("1.2") == (1, 2, 0, 10200) + assert splitVersionNumber("1.2.3") == (1, 2, 3, 10203) + assert splitVersionNumber("1.2.3.4") == (1, 2, 3, 10203) + assert splitVersionNumber("99.99.99") == (99, 99, 99, 999999) # Failed Values - assert splitVersionNumber(None) == [0, 0, 0, 0] - assert splitVersionNumber(1234) == [0, 0, 0, 0] - assert splitVersionNumber("1.2abc") == [1, 0, 0, 10000] + assert splitVersionNumber(None) == (0, 0, 0, 0) + assert splitVersionNumber(1234) == (0, 0, 0, 0) + assert splitVersionNumber("1.2abc") == (1, 0, 0, 10000) # END Test testBaseCommon_SplitVersionNumber