Update core tests

This commit is contained in:
Veronica Berglyd Olsen
2024-04-10 21:39:23 +02:00
parent f17302439e
commit adfd003532
4 changed files with 378 additions and 408 deletions
+2 -2
View File
@@ -553,8 +553,8 @@ def testCoreItem_ClassDefaults(mockGUI):
def testCoreItem_PackUnpack(mockGUI, caplog, mockRnd):
"""Test packing and unpacking entries for the NWItem class."""
project = NWProject()
project.data.itemStatus.write(None, "New", (100, 100, 100), "SQUARE")
project.data.itemImport.write(None, "New", (100, 100, 100), "SQUARE")
project.data.itemStatus.add(None, "New", (100, 100, 100), "SQUARE", 0)
project.data.itemImport.add(None, "New", (100, 100, 100), "SQUARE", 0)
# Invalid
item = NWItem(project, "0000000000000")
-109
View File
@@ -400,115 +400,6 @@ def testCoreProject_AccessItems(mockGUI, fncPath, mockRnd):
# END Test testCoreProject_AccessItems
@pytest.mark.core
def testCoreProject_StatusImport(mockGUI, fncPath, mockRnd):
"""Test the status and importance flag handling."""
project = NWProject()
mockRnd.reset()
buildTestProject(project, fncPath)
statusKeys = [C.sNew, C.sNote, C.sDraft, C.sFinished]
importKeys = [C.iNew, C.iMinor, C.iMajor, C.iMain]
# Change Status
# =============
project.tree[C.hNovelRoot].setStatus(statusKeys[3]) # type: ignore
project.tree[C.hPlotRoot].setStatus(statusKeys[2]) # type: ignore
project.tree[C.hCharRoot].setStatus(statusKeys[1]) # type: ignore
project.tree[C.hWorldRoot].setStatus(statusKeys[3]) # type: ignore
assert project.tree[C.hNovelRoot].itemStatus == statusKeys[3] # type: ignore
assert project.tree[C.hPlotRoot].itemStatus == statusKeys[2] # type: ignore
assert project.tree[C.hCharRoot].itemStatus == statusKeys[1] # type: ignore
assert project.tree[C.hWorldRoot].itemStatus == statusKeys[3] # type: ignore
newList = [
{"key": statusKeys[0], "name": "New", "cols": (1, 1, 1)},
{"key": statusKeys[1], "name": "Draft", "cols": (2, 2, 2)}, # These are swapped
{"key": statusKeys[2], "name": "Note", "cols": (3, 3, 3)}, # These are swapped
{"key": statusKeys[3], "name": "Edited", "cols": (4, 4, 4)}, # Renamed
{"key": None, "name": "Finished", "cols": (5, 5, 5)}, # New, reused name
]
assert project.setStatusColours(None, None) is False # type: ignore
assert project.setStatusColours([], []) is False
assert project.setStatusColours(newList, []) is True
assert project.data.itemStatus.name(statusKeys[0]) == "New"
assert project.data.itemStatus.name(statusKeys[1]) == "Draft"
assert project.data.itemStatus.name(statusKeys[2]) == "Note"
assert project.data.itemStatus.name(statusKeys[3]) == "Edited"
assert project.data.itemStatus.cols(statusKeys[0]) == (1, 1, 1)
assert project.data.itemStatus.cols(statusKeys[1]) == (2, 2, 2)
assert project.data.itemStatus.cols(statusKeys[2]) == (3, 3, 3)
assert project.data.itemStatus.cols(statusKeys[3]) == (4, 4, 4)
# Check the new entry
lastKey = project.data.itemStatus.check("s000010")
assert lastKey == "s000010"
assert project.data.itemStatus.name(lastKey) == "Finished"
assert project.data.itemStatus.cols(lastKey) == (5, 5, 5)
# Delete last entry
assert project.setStatusColours([], [lastKey]) is True
assert project.data.itemStatus.name(lastKey) == "New"
# Change Importance
# =================
fHandle = project.newFile("Jane Doe", C.hCharRoot)
project.tree[fHandle].setImport(importKeys[3]) # type: ignore
assert project.tree[fHandle].itemImport == importKeys[3] # type: ignore
newList = [
{"key": importKeys[0], "name": "New", "cols": (1, 1, 1)},
{"key": importKeys[1], "name": "Minor", "cols": (2, 2, 2)},
{"key": importKeys[2], "name": "Major", "cols": (3, 3, 3)},
{"key": importKeys[3], "name": "Min", "cols": (4, 4, 4)},
{"key": None, "name": "Max", "cols": (5, 5, 5)},
]
assert project.setImportColours(None, None) is False # type: ignore
assert project.setImportColours([], []) is False
assert project.setImportColours(newList, []) is True
assert project.data.itemImport.name(importKeys[0]) == "New"
assert project.data.itemImport.name(importKeys[1]) == "Minor"
assert project.data.itemImport.name(importKeys[2]) == "Major"
assert project.data.itemImport.name(importKeys[3]) == "Min"
assert project.data.itemImport.cols(importKeys[0]) == (1, 1, 1)
assert project.data.itemImport.cols(importKeys[1]) == (2, 2, 2)
assert project.data.itemImport.cols(importKeys[2]) == (3, 3, 3)
assert project.data.itemImport.cols(importKeys[3]) == (4, 4, 4)
# Check the new entry
lastKey = project.data.itemImport.check("i000012")
assert lastKey == "i000012"
assert project.data.itemImport.name(lastKey) == "Max"
assert project.data.itemImport.cols(lastKey) == (5, 5, 5)
# Delete last entry
assert project.setImportColours([], [lastKey]) is True
assert project.data.itemImport.name(lastKey) == "New"
# Delete Status/Import
# ====================
project.data.itemStatus.resetCounts()
for key in list(project.data.itemStatus._store.keys()):
assert project.data.itemStatus.remove(key) is True
project.data.itemImport.resetCounts()
for key in list(project.data.itemImport._store.keys()):
assert project.data.itemImport.remove(key) is True
assert len(project.data.itemStatus) == 0
assert len(project.data.itemImport) == 0
assert project.saveProject() is True
project.closeProject()
# END Test testCoreProject_StatusImport
@pytest.mark.core
def testCoreProject_Methods(monkeypatch, mockGUI, fncPath, mockRnd):
"""Test other project class methods and functions."""
+281 -203
View File
@@ -27,6 +27,7 @@ from shutil import copyfile
from datetime import datetime
from novelwriter.constants import nwFiles
from novelwriter.enum import nwStatusShape
from tools import cmpFiles, writeFile
from mocked import causeOSError
@@ -156,44 +157,57 @@ def testCoreProjectXML_ReadCurrent(monkeypatch, tstPaths, fncPath):
assert data.getLastHandle("novelTree") == "7031beac91f75"
assert data.getLastHandle("outline") == "7031beac91f75"
assert data.itemStatus.name("sf12341") == "New"
assert data.itemStatus.name("sf24ce6") == "Notes"
assert data.itemStatus.name("sc24b8f") == "Started"
assert data.itemStatus.name("s90e6c9") == "1st Draft"
assert data.itemStatus.name("sd51c5b") == "2nd Draft"
assert data.itemStatus.name("s8ae72a") == "3rd Draft"
assert data.itemStatus.name("s78ea90") == "Finished"
assert data.itemStatus["sf12341"].name == "New"
assert data.itemStatus["sf24ce6"].name == "Notes"
assert data.itemStatus["sc24b8f"].name == "Started"
assert data.itemStatus["s90e6c9"].name == "1st Draft"
assert data.itemStatus["sd51c5b"].name == "2nd Draft"
assert data.itemStatus["s8ae72a"].name == "3rd Draft"
assert data.itemStatus["s78ea90"].name == "Finished"
assert data.itemImport.name("ia857f0") == "None"
assert data.itemImport.name("icfb3a5") == "Minor"
assert data.itemImport.name("i2d7a54") == "Major"
assert data.itemImport.name("i56be10") == "Main"
assert data.itemImport["ia857f0"].name == "None"
assert data.itemImport["icfb3a5"].name == "Minor"
assert data.itemImport["i2d7a54"].name == "Major"
assert data.itemImport["i56be10"].name == "Main"
assert data.itemStatus.cols("sf12341") == QColor(100, 100, 100)
assert data.itemStatus.cols("sf24ce6") == QColor(200, 50, 0)
assert data.itemStatus.cols("sc24b8f") == QColor(182, 60, 0)
assert data.itemStatus.cols("s90e6c9") == QColor(193, 129, 0)
assert data.itemStatus.cols("sd51c5b") == QColor(193, 129, 0)
assert data.itemStatus.cols("s8ae72a") == QColor(193, 129, 0)
assert data.itemStatus.cols("s78ea90") == QColor(58, 180, 58)
assert data.itemStatus["sf12341"].color == QColor(100, 100, 100)
assert data.itemStatus["sf24ce6"].color == QColor(200, 50, 0)
assert data.itemStatus["sc24b8f"].color == QColor(182, 60, 0)
assert data.itemStatus["s90e6c9"].color == QColor(193, 129, 0)
assert data.itemStatus["sd51c5b"].color == QColor(193, 129, 0)
assert data.itemStatus["s8ae72a"].color == QColor(193, 129, 0)
assert data.itemStatus["s78ea90"].color == QColor(58, 180, 58)
assert data.itemImport.cols("ia857f0") == QColor(100, 100, 100)
assert data.itemImport.cols("icfb3a5") == QColor(0, 122, 188)
assert data.itemImport.cols("i2d7a54") == QColor(21, 0, 180)
assert data.itemImport.cols("i56be10") == QColor(117, 0, 175)
assert data.itemImport["ia857f0"].color == QColor(100, 100, 100)
assert data.itemImport["icfb3a5"].color == QColor(0, 122, 188)
assert data.itemImport["i2d7a54"].color == QColor(21, 0, 180)
assert data.itemImport["i56be10"].color == QColor(117, 0, 175)
assert data.itemStatus.count("sf12341") == 4
assert data.itemStatus.count("sf24ce6") == 2
assert data.itemStatus.count("sc24b8f") == 3
assert data.itemStatus.count("s90e6c9") == 7
assert data.itemStatus.count("sd51c5b") == 0
assert data.itemStatus.count("s8ae72a") == 0
assert data.itemStatus.count("s78ea90") == 1
assert data.itemStatus["sf12341"].shape == nwStatusShape.SQUARE
assert data.itemStatus["sf24ce6"].shape == nwStatusShape.SQUARE
assert data.itemStatus["sc24b8f"].shape == nwStatusShape.SQUARE
assert data.itemStatus["s90e6c9"].shape == nwStatusShape.SQUARE
assert data.itemStatus["sd51c5b"].shape == nwStatusShape.SQUARE
assert data.itemStatus["s8ae72a"].shape == nwStatusShape.SQUARE
assert data.itemStatus["s78ea90"].shape == nwStatusShape.SQUARE
assert data.itemImport.count("ia857f0") == 5
assert data.itemImport.count("icfb3a5") == 2
assert data.itemImport.count("i2d7a54") == 2
assert data.itemImport.count("i56be10") == 1
assert data.itemImport["ia857f0"].shape == nwStatusShape.SQUARE
assert data.itemImport["icfb3a5"].shape == nwStatusShape.SQUARE
assert data.itemImport["i2d7a54"].shape == nwStatusShape.SQUARE
assert data.itemImport["i56be10"].shape == nwStatusShape.SQUARE
assert data.itemStatus["sf12341"].count == 4
assert data.itemStatus["sf24ce6"].count == 2
assert data.itemStatus["sc24b8f"].count == 3
assert data.itemStatus["s90e6c9"].count == 7
assert data.itemStatus["sd51c5b"].count == 0
assert data.itemStatus["s8ae72a"].count == 0
assert data.itemStatus["s78ea90"].count == 1
assert data.itemImport["ia857f0"].count == 5
assert data.itemImport["icfb3a5"].count == 2
assert data.itemImport["i2d7a54"].count == 2
assert data.itemImport["i56be10"].count == 1
# Compare content
dumpFile = tstPaths.outDir / "projectXML_ReadCurrent.json"
@@ -274,44 +288,57 @@ def testCoreProjectXML_ReadLegacy10(tstPaths, fncPath, mockRnd):
assert data.getLastHandle("novelTree") is None # Doesn't exist in 1.0
assert data.getLastHandle("outline") is None # Doesn't exist in 1.0
assert data.itemStatus.name("s000000") == "New"
assert data.itemStatus.name("s000001") == "Notes"
assert data.itemStatus.name("s000002") == "Started"
assert data.itemStatus.name("s000003") == "1st Draft"
assert data.itemStatus.name("s000004") == "2nd Draft"
assert data.itemStatus.name("s000005") == "3rd Draft"
assert data.itemStatus.name("s000006") == "Finished"
assert data.itemStatus["s000000"].name == "New"
assert data.itemStatus["s000001"].name == "Notes"
assert data.itemStatus["s000002"].name == "Started"
assert data.itemStatus["s000003"].name == "1st Draft"
assert data.itemStatus["s000004"].name == "2nd Draft"
assert data.itemStatus["s000005"].name == "3rd Draft"
assert data.itemStatus["s000006"].name == "Finished"
assert data.itemImport.name("i000007") == "None"
assert data.itemImport.name("i000008") == "Minor"
assert data.itemImport.name("i000009") == "Major"
assert data.itemImport.name("i00000a") == "Main"
assert data.itemImport["i000007"].name == "None"
assert data.itemImport["i000008"].name == "Minor"
assert data.itemImport["i000009"].name == "Major"
assert data.itemImport["i00000a"].name == "Main"
assert data.itemStatus.cols("s000000") == QColor(100, 100, 100)
assert data.itemStatus.cols("s000001") == QColor(200, 50, 0)
assert data.itemStatus.cols("s000002") == QColor(182, 60, 0)
assert data.itemStatus.cols("s000003") == QColor(193, 129, 0)
assert data.itemStatus.cols("s000004") == QColor(193, 129, 0)
assert data.itemStatus.cols("s000005") == QColor(193, 129, 0)
assert data.itemStatus.cols("s000006") == QColor(58, 180, 58)
assert data.itemStatus["s000000"].color == QColor(100, 100, 100)
assert data.itemStatus["s000001"].color == QColor(200, 50, 0)
assert data.itemStatus["s000002"].color == QColor(182, 60, 0)
assert data.itemStatus["s000003"].color == QColor(193, 129, 0)
assert data.itemStatus["s000004"].color == QColor(193, 129, 0)
assert data.itemStatus["s000005"].color == QColor(193, 129, 0)
assert data.itemStatus["s000006"].color == QColor(58, 180, 58)
assert data.itemImport.cols("i000007") == QColor(100, 100, 100)
assert data.itemImport.cols("i000008") == QColor(0, 122, 188)
assert data.itemImport.cols("i000009") == QColor(21, 0, 180)
assert data.itemImport.cols("i00000a") == QColor(117, 0, 175)
assert data.itemImport["i000007"].color == QColor(100, 100, 100)
assert data.itemImport["i000008"].color == QColor(0, 122, 188)
assert data.itemImport["i000009"].color == QColor(21, 0, 180)
assert data.itemImport["i00000a"].color == QColor(117, 0, 175)
assert data.itemStatus.count("s000000") == 0
assert data.itemStatus.count("s000001") == 0
assert data.itemStatus.count("s000002") == 0
assert data.itemStatus.count("s000003") == 0
assert data.itemStatus.count("s000004") == 0
assert data.itemStatus.count("s000005") == 0
assert data.itemStatus.count("s000006") == 0
assert data.itemStatus["s000000"].shape == nwStatusShape.SQUARE
assert data.itemStatus["s000001"].shape == nwStatusShape.SQUARE
assert data.itemStatus["s000002"].shape == nwStatusShape.SQUARE
assert data.itemStatus["s000003"].shape == nwStatusShape.SQUARE
assert data.itemStatus["s000004"].shape == nwStatusShape.SQUARE
assert data.itemStatus["s000005"].shape == nwStatusShape.SQUARE
assert data.itemStatus["s000006"].shape == nwStatusShape.SQUARE
assert data.itemImport.count("i000007") == 0
assert data.itemImport.count("i000008") == 0
assert data.itemImport.count("i000009") == 0
assert data.itemImport.count("i00000a") == 0
assert data.itemImport["i000007"].shape == nwStatusShape.SQUARE
assert data.itemImport["i000008"].shape == nwStatusShape.SQUARE
assert data.itemImport["i000009"].shape == nwStatusShape.SQUARE
assert data.itemImport["i00000a"].shape == nwStatusShape.SQUARE
assert data.itemStatus["s000000"].count == 0
assert data.itemStatus["s000001"].count == 0
assert data.itemStatus["s000002"].count == 0
assert data.itemStatus["s000003"].count == 0
assert data.itemStatus["s000004"].count == 0
assert data.itemStatus["s000005"].count == 0
assert data.itemStatus["s000006"].count == 0
assert data.itemImport["i000007"].count == 0
assert data.itemImport["i000008"].count == 0
assert data.itemImport["i000009"].count == 0
assert data.itemImport["i00000a"].count == 0
# Compare content
dumpFile = tstPaths.outDir / "projectXML_ReadLegacy10.json"
@@ -327,7 +354,7 @@ def testCoreProjectXML_ReadLegacy10(tstPaths, fncPath, mockRnd):
for entry in content:
item = NWItem(mockProject, "0000000000000") # type: ignore
item.unpack(entry)
status[item.itemHandle] = item.getImportStatus(incIcon=False)[0]
status[item.itemHandle] = item.getImportStatus()[0]
packedContent.append(item.pack())
assert status == {
@@ -408,44 +435,57 @@ def testCoreProjectXML_ReadLegacy11(tstPaths, fncPath, mockRnd):
assert data.getLastHandle("novelTree") is None # Doesn't exist in 1.1
assert data.getLastHandle("outline") is None # Doesn't exist in 1.1
assert data.itemStatus.name("s000000") == "New"
assert data.itemStatus.name("s000001") == "Notes"
assert data.itemStatus.name("s000002") == "Started"
assert data.itemStatus.name("s000003") == "1st Draft"
assert data.itemStatus.name("s000004") == "2nd Draft"
assert data.itemStatus.name("s000005") == "3rd Draft"
assert data.itemStatus.name("s000006") == "Finished"
assert data.itemStatus["s000000"].name == "New"
assert data.itemStatus["s000001"].name == "Notes"
assert data.itemStatus["s000002"].name == "Started"
assert data.itemStatus["s000003"].name == "1st Draft"
assert data.itemStatus["s000004"].name == "2nd Draft"
assert data.itemStatus["s000005"].name == "3rd Draft"
assert data.itemStatus["s000006"].name == "Finished"
assert data.itemImport.name("i000007") == "None"
assert data.itemImport.name("i000008") == "Minor"
assert data.itemImport.name("i000009") == "Major"
assert data.itemImport.name("i00000a") == "Main"
assert data.itemImport["i000007"].name == "None"
assert data.itemImport["i000008"].name == "Minor"
assert data.itemImport["i000009"].name == "Major"
assert data.itemImport["i00000a"].name == "Main"
assert data.itemStatus.cols("s000000") == QColor(100, 100, 100)
assert data.itemStatus.cols("s000001") == QColor(200, 50, 0)
assert data.itemStatus.cols("s000002") == QColor(182, 60, 0)
assert data.itemStatus.cols("s000003") == QColor(193, 129, 0)
assert data.itemStatus.cols("s000004") == QColor(193, 129, 0)
assert data.itemStatus.cols("s000005") == QColor(193, 129, 0)
assert data.itemStatus.cols("s000006") == QColor(58, 180, 58)
assert data.itemStatus["s000000"].color == QColor(100, 100, 100)
assert data.itemStatus["s000001"].color == QColor(200, 50, 0)
assert data.itemStatus["s000002"].color == QColor(182, 60, 0)
assert data.itemStatus["s000003"].color == QColor(193, 129, 0)
assert data.itemStatus["s000004"].color == QColor(193, 129, 0)
assert data.itemStatus["s000005"].color == QColor(193, 129, 0)
assert data.itemStatus["s000006"].color == QColor(58, 180, 58)
assert data.itemImport.cols("i000007") == QColor(100, 100, 100)
assert data.itemImport.cols("i000008") == QColor(0, 122, 188)
assert data.itemImport.cols("i000009") == QColor(21, 0, 180)
assert data.itemImport.cols("i00000a") == QColor(117, 0, 175)
assert data.itemImport["i000007"].color == QColor(100, 100, 100)
assert data.itemImport["i000008"].color == QColor(0, 122, 188)
assert data.itemImport["i000009"].color == QColor(21, 0, 180)
assert data.itemImport["i00000a"].color == QColor(117, 0, 175)
assert data.itemStatus.count("s000000") == 0
assert data.itemStatus.count("s000001") == 0
assert data.itemStatus.count("s000002") == 0
assert data.itemStatus.count("s000003") == 0
assert data.itemStatus.count("s000004") == 0
assert data.itemStatus.count("s000005") == 0
assert data.itemStatus.count("s000006") == 0
assert data.itemStatus["s000000"].shape == nwStatusShape.SQUARE
assert data.itemStatus["s000001"].shape == nwStatusShape.SQUARE
assert data.itemStatus["s000002"].shape == nwStatusShape.SQUARE
assert data.itemStatus["s000003"].shape == nwStatusShape.SQUARE
assert data.itemStatus["s000004"].shape == nwStatusShape.SQUARE
assert data.itemStatus["s000005"].shape == nwStatusShape.SQUARE
assert data.itemStatus["s000006"].shape == nwStatusShape.SQUARE
assert data.itemImport.count("i000007") == 0
assert data.itemImport.count("i000008") == 0
assert data.itemImport.count("i000009") == 0
assert data.itemImport.count("i00000a") == 0
assert data.itemImport["i000007"].shape == nwStatusShape.SQUARE
assert data.itemImport["i000008"].shape == nwStatusShape.SQUARE
assert data.itemImport["i000009"].shape == nwStatusShape.SQUARE
assert data.itemImport["i00000a"].shape == nwStatusShape.SQUARE
assert data.itemStatus["s000000"].count == 0
assert data.itemStatus["s000001"].count == 0
assert data.itemStatus["s000002"].count == 0
assert data.itemStatus["s000003"].count == 0
assert data.itemStatus["s000004"].count == 0
assert data.itemStatus["s000005"].count == 0
assert data.itemStatus["s000006"].count == 0
assert data.itemImport["i000007"].count == 0
assert data.itemImport["i000008"].count == 0
assert data.itemImport["i000009"].count == 0
assert data.itemImport["i00000a"].count == 0
# Compare content
dumpFile = tstPaths.outDir / "projectXML_ReadLegacy11.json"
@@ -461,7 +501,7 @@ def testCoreProjectXML_ReadLegacy11(tstPaths, fncPath, mockRnd):
for entry in content:
item = NWItem(mockProject, "0000000000000") # type: ignore
item.unpack(entry)
status[item.itemHandle] = item.getImportStatus(incIcon=False)[0]
status[item.itemHandle] = item.getImportStatus()[0]
packedContent.append(item.pack())
assert status == {
@@ -542,44 +582,57 @@ def testCoreProjectXML_ReadLegacy12(tstPaths, fncPath, mockRnd):
assert data.getLastHandle("novelTree") is None # Doesn't exist in 1.2
assert data.getLastHandle("outline") is None # Doesn't exist in 1.2
assert data.itemStatus.name("s000000") == "New"
assert data.itemStatus.name("s000001") == "Notes"
assert data.itemStatus.name("s000002") == "Started"
assert data.itemStatus.name("s000003") == "1st Draft"
assert data.itemStatus.name("s000004") == "2nd Draft"
assert data.itemStatus.name("s000005") == "3rd Draft"
assert data.itemStatus.name("s000006") == "Finished"
assert data.itemStatus["s000000"].name == "New"
assert data.itemStatus["s000001"].name == "Notes"
assert data.itemStatus["s000002"].name == "Started"
assert data.itemStatus["s000003"].name == "1st Draft"
assert data.itemStatus["s000004"].name == "2nd Draft"
assert data.itemStatus["s000005"].name == "3rd Draft"
assert data.itemStatus["s000006"].name == "Finished"
assert data.itemImport.name("i000007") == "None"
assert data.itemImport.name("i000008") == "Minor"
assert data.itemImport.name("i000009") == "Major"
assert data.itemImport.name("i00000a") == "Main"
assert data.itemImport["i000007"].name == "None"
assert data.itemImport["i000008"].name == "Minor"
assert data.itemImport["i000009"].name == "Major"
assert data.itemImport["i00000a"].name == "Main"
assert data.itemStatus.cols("s000000") == QColor(100, 100, 100)
assert data.itemStatus.cols("s000001") == QColor(200, 50, 0)
assert data.itemStatus.cols("s000002") == QColor(182, 60, 0)
assert data.itemStatus.cols("s000003") == QColor(193, 129, 0)
assert data.itemStatus.cols("s000004") == QColor(193, 129, 0)
assert data.itemStatus.cols("s000005") == QColor(193, 129, 0)
assert data.itemStatus.cols("s000006") == QColor(58, 180, 58)
assert data.itemStatus["s000000"].color == QColor(100, 100, 100)
assert data.itemStatus["s000001"].color == QColor(200, 50, 0)
assert data.itemStatus["s000002"].color == QColor(182, 60, 0)
assert data.itemStatus["s000003"].color == QColor(193, 129, 0)
assert data.itemStatus["s000004"].color == QColor(193, 129, 0)
assert data.itemStatus["s000005"].color == QColor(193, 129, 0)
assert data.itemStatus["s000006"].color == QColor(58, 180, 58)
assert data.itemImport.cols("i000007") == QColor(100, 100, 100)
assert data.itemImport.cols("i000008") == QColor(0, 122, 188)
assert data.itemImport.cols("i000009") == QColor(21, 0, 180)
assert data.itemImport.cols("i00000a") == QColor(117, 0, 175)
assert data.itemImport["i000007"].color == QColor(100, 100, 100)
assert data.itemImport["i000008"].color == QColor(0, 122, 188)
assert data.itemImport["i000009"].color == QColor(21, 0, 180)
assert data.itemImport["i00000a"].color == QColor(117, 0, 175)
assert data.itemStatus.count("s000000") == 0
assert data.itemStatus.count("s000001") == 0
assert data.itemStatus.count("s000002") == 0
assert data.itemStatus.count("s000003") == 0
assert data.itemStatus.count("s000004") == 0
assert data.itemStatus.count("s000005") == 0
assert data.itemStatus.count("s000006") == 0
assert data.itemStatus["s000000"].shape == nwStatusShape.SQUARE
assert data.itemStatus["s000001"].shape == nwStatusShape.SQUARE
assert data.itemStatus["s000002"].shape == nwStatusShape.SQUARE
assert data.itemStatus["s000003"].shape == nwStatusShape.SQUARE
assert data.itemStatus["s000004"].shape == nwStatusShape.SQUARE
assert data.itemStatus["s000005"].shape == nwStatusShape.SQUARE
assert data.itemStatus["s000006"].shape == nwStatusShape.SQUARE
assert data.itemImport.count("i000007") == 0
assert data.itemImport.count("i000008") == 0
assert data.itemImport.count("i000009") == 0
assert data.itemImport.count("i00000a") == 0
assert data.itemImport["i000007"].shape == nwStatusShape.SQUARE
assert data.itemImport["i000008"].shape == nwStatusShape.SQUARE
assert data.itemImport["i000009"].shape == nwStatusShape.SQUARE
assert data.itemImport["i00000a"].shape == nwStatusShape.SQUARE
assert data.itemStatus["s000000"].count == 0
assert data.itemStatus["s000001"].count == 0
assert data.itemStatus["s000002"].count == 0
assert data.itemStatus["s000003"].count == 0
assert data.itemStatus["s000004"].count == 0
assert data.itemStatus["s000005"].count == 0
assert data.itemStatus["s000006"].count == 0
assert data.itemImport["i000007"].count == 0
assert data.itemImport["i000008"].count == 0
assert data.itemImport["i000009"].count == 0
assert data.itemImport["i00000a"].count == 0
# Compare content
dumpFile = tstPaths.outDir / "projectXML_ReadLegacy12.json"
@@ -595,7 +648,7 @@ def testCoreProjectXML_ReadLegacy12(tstPaths, fncPath, mockRnd):
for entry in content:
item = NWItem(mockProject, "0000000000000") # type: ignore
item.unpack(entry)
status[item.itemHandle] = item.getImportStatus(incIcon=False)[0]
status[item.itemHandle] = item.getImportStatus()[0]
packedContent.append(item.pack())
assert status == {
@@ -679,44 +732,57 @@ def testCoreProjectXML_ReadLegacy13(tstPaths, fncPath, mockRnd):
assert data.getLastHandle("novelTree") is None # Doesn't exist in 1.3
assert data.getLastHandle("outline") is None # Doesn't exist in 1.3
assert data.itemStatus.name("s000000") == "New"
assert data.itemStatus.name("s000001") == "Notes"
assert data.itemStatus.name("s000002") == "Started"
assert data.itemStatus.name("s000003") == "1st Draft"
assert data.itemStatus.name("s000004") == "2nd Draft"
assert data.itemStatus.name("s000005") == "3rd Draft"
assert data.itemStatus.name("s000006") == "Finished"
assert data.itemStatus["s000000"].name == "New"
assert data.itemStatus["s000001"].name == "Notes"
assert data.itemStatus["s000002"].name == "Started"
assert data.itemStatus["s000003"].name == "1st Draft"
assert data.itemStatus["s000004"].name == "2nd Draft"
assert data.itemStatus["s000005"].name == "3rd Draft"
assert data.itemStatus["s000006"].name == "Finished"
assert data.itemImport.name("i000007") == "None"
assert data.itemImport.name("i000008") == "Minor"
assert data.itemImport.name("i000009") == "Major"
assert data.itemImport.name("i00000a") == "Main"
assert data.itemImport["i000007"].name == "None"
assert data.itemImport["i000008"].name == "Minor"
assert data.itemImport["i000009"].name == "Major"
assert data.itemImport["i00000a"].name == "Main"
assert data.itemStatus.cols("s000000") == QColor(100, 100, 100)
assert data.itemStatus.cols("s000001") == QColor(200, 50, 0)
assert data.itemStatus.cols("s000002") == QColor(182, 60, 0)
assert data.itemStatus.cols("s000003") == QColor(193, 129, 0)
assert data.itemStatus.cols("s000004") == QColor(193, 129, 0)
assert data.itemStatus.cols("s000005") == QColor(193, 129, 0)
assert data.itemStatus.cols("s000006") == QColor(58, 180, 58)
assert data.itemStatus["s000000"].color == QColor(100, 100, 100)
assert data.itemStatus["s000001"].color == QColor(200, 50, 0)
assert data.itemStatus["s000002"].color == QColor(182, 60, 0)
assert data.itemStatus["s000003"].color == QColor(193, 129, 0)
assert data.itemStatus["s000004"].color == QColor(193, 129, 0)
assert data.itemStatus["s000005"].color == QColor(193, 129, 0)
assert data.itemStatus["s000006"].color == QColor(58, 180, 58)
assert data.itemImport.cols("i000007") == QColor(100, 100, 100)
assert data.itemImport.cols("i000008") == QColor(0, 122, 188)
assert data.itemImport.cols("i000009") == QColor(21, 0, 180)
assert data.itemImport.cols("i00000a") == QColor(117, 0, 175)
assert data.itemImport["i000007"].color == QColor(100, 100, 100)
assert data.itemImport["i000008"].color == QColor(0, 122, 188)
assert data.itemImport["i000009"].color == QColor(21, 0, 180)
assert data.itemImport["i00000a"].color == QColor(117, 0, 175)
assert data.itemStatus.count("s000000") == 0
assert data.itemStatus.count("s000001") == 0
assert data.itemStatus.count("s000002") == 0
assert data.itemStatus.count("s000003") == 0
assert data.itemStatus.count("s000004") == 0
assert data.itemStatus.count("s000005") == 0
assert data.itemStatus.count("s000006") == 0
assert data.itemStatus["s000000"].shape == nwStatusShape.SQUARE
assert data.itemStatus["s000001"].shape == nwStatusShape.SQUARE
assert data.itemStatus["s000002"].shape == nwStatusShape.SQUARE
assert data.itemStatus["s000003"].shape == nwStatusShape.SQUARE
assert data.itemStatus["s000004"].shape == nwStatusShape.SQUARE
assert data.itemStatus["s000005"].shape == nwStatusShape.SQUARE
assert data.itemStatus["s000006"].shape == nwStatusShape.SQUARE
assert data.itemImport.count("i000007") == 0
assert data.itemImport.count("i000008") == 0
assert data.itemImport.count("i000009") == 0
assert data.itemImport.count("i00000a") == 0
assert data.itemImport["i000007"].shape == nwStatusShape.SQUARE
assert data.itemImport["i000008"].shape == nwStatusShape.SQUARE
assert data.itemImport["i000009"].shape == nwStatusShape.SQUARE
assert data.itemImport["i00000a"].shape == nwStatusShape.SQUARE
assert data.itemStatus["s000000"].count == 0
assert data.itemStatus["s000001"].count == 0
assert data.itemStatus["s000002"].count == 0
assert data.itemStatus["s000003"].count == 0
assert data.itemStatus["s000004"].count == 0
assert data.itemStatus["s000005"].count == 0
assert data.itemStatus["s000006"].count == 0
assert data.itemImport["i000007"].count == 0
assert data.itemImport["i000008"].count == 0
assert data.itemImport["i000009"].count == 0
assert data.itemImport["i00000a"].count == 0
# Compare content
dumpFile = tstPaths.outDir / "projectXML_ReadLegacy13.json"
@@ -732,7 +798,7 @@ def testCoreProjectXML_ReadLegacy13(tstPaths, fncPath, mockRnd):
for entry in content:
item = NWItem(mockProject, "0000000000000") # type: ignore
item.unpack(entry)
status[item.itemHandle] = item.getImportStatus(incIcon=False)[0]
status[item.itemHandle] = item.getImportStatus()[0]
packedContent.append(item.pack())
assert status == {
@@ -816,44 +882,56 @@ def testCoreProjectXML_ReadLegacy14(tstPaths, fncPath, mockRnd):
assert data.getLastHandle("novelTree") is None # Doesn't exist in 1.3
assert data.getLastHandle("outline") is None # Doesn't exist in 1.3
assert data.itemStatus.name("sf12341") == "New"
assert data.itemStatus.name("sf24ce6") == "Notes"
assert data.itemStatus.name("sc24b8f") == "Started"
assert data.itemStatus.name("s90e6c9") == "1st Draft"
assert data.itemStatus.name("sd51c5b") == "2nd Draft"
assert data.itemStatus.name("s8ae72a") == "3rd Draft"
assert data.itemStatus.name("s78ea90") == "Finished"
assert data.itemStatus["sf12341"].name == "New"
assert data.itemStatus["sf24ce6"].name == "Notes"
assert data.itemStatus["sc24b8f"].name == "Started"
assert data.itemStatus["s90e6c9"].name == "1st Draft"
assert data.itemStatus["sd51c5b"].name == "2nd Draft"
assert data.itemStatus["s8ae72a"].name == "3rd Draft"
assert data.itemStatus["s78ea90"].name == "Finished"
assert data.itemImport.name("ia857f0") == "None"
assert data.itemImport.name("icfb3a5") == "Minor"
assert data.itemImport.name("i2d7a54") == "Major"
assert data.itemImport.name("i56be10") == "Main"
assert data.itemImport["ia857f0"].name == "None"
assert data.itemImport["icfb3a5"].name == "Minor"
assert data.itemImport["i2d7a54"].name == "Major"
assert data.itemImport["i56be10"].name == "Main"
assert data.itemStatus.cols("sf12341") == QColor(100, 100, 100)
assert data.itemStatus.cols("sf24ce6") == QColor(200, 50, 0)
assert data.itemStatus.cols("sc24b8f") == QColor(182, 60, 0)
assert data.itemStatus.cols("s90e6c9") == QColor(193, 129, 0)
assert data.itemStatus.cols("sd51c5b") == QColor(193, 129, 0)
assert data.itemStatus.cols("s8ae72a") == QColor(193, 129, 0)
assert data.itemStatus.cols("s78ea90") == QColor(58, 180, 58)
assert data.itemStatus["sf12341"].color == QColor(100, 100, 100)
assert data.itemStatus["sf24ce6"].color == QColor(200, 50, 0)
assert data.itemStatus["sc24b8f"].color == QColor(182, 60, 0)
assert data.itemStatus["s90e6c9"].color == QColor(193, 129, 0)
assert data.itemStatus["sd51c5b"].color == QColor(193, 129, 0)
assert data.itemStatus["s8ae72a"].color == QColor(193, 129, 0)
assert data.itemStatus["s78ea90"].color == QColor(58, 180, 58)
assert data.itemImport.cols("ia857f0") == QColor(100, 100, 100)
assert data.itemImport.cols("icfb3a5") == QColor(0, 122, 188)
assert data.itemImport.cols("i2d7a54") == QColor(21, 0, 180)
assert data.itemImport.cols("i56be10") == QColor(117, 0, 175)
assert data.itemImport["ia857f0"].color == QColor(100, 100, 100)
assert data.itemImport["icfb3a5"].color == QColor(0, 122, 188)
assert data.itemImport["i2d7a54"].color == QColor(21, 0, 180)
assert data.itemImport["i56be10"].color == QColor(117, 0, 175)
assert data.itemStatus.count("sf12341") == 4
assert data.itemStatus.count("sf24ce6") == 2
assert data.itemStatus.count("sc24b8f") == 3
assert data.itemStatus.count("s90e6c9") == 7
assert data.itemStatus.count("sd51c5b") == 0
assert data.itemStatus.count("s8ae72a") == 0
assert data.itemStatus.count("s78ea90") == 1
assert data.itemStatus["sf12341"].shape == nwStatusShape.SQUARE
assert data.itemStatus["sf24ce6"].shape == nwStatusShape.SQUARE
assert data.itemStatus["sc24b8f"].shape == nwStatusShape.SQUARE
assert data.itemStatus["s90e6c9"].shape == nwStatusShape.SQUARE
assert data.itemStatus["sd51c5b"].shape == nwStatusShape.SQUARE
assert data.itemStatus["s8ae72a"].shape == nwStatusShape.SQUARE
assert data.itemStatus["s78ea90"].shape == nwStatusShape.SQUARE
assert data.itemImport.count("ia857f0") == 5
assert data.itemImport.count("icfb3a5") == 2
assert data.itemImport.count("i2d7a54") == 2
assert data.itemImport.count("i56be10") == 1
assert data.itemImport["ia857f0"].shape == nwStatusShape.SQUARE
assert data.itemImport["icfb3a5"].shape == nwStatusShape.SQUARE
assert data.itemImport["i2d7a54"].shape == nwStatusShape.SQUARE
assert data.itemImport["i56be10"].shape == nwStatusShape.SQUARE
assert data.itemStatus["sf12341"].count == 4
assert data.itemStatus["sf24ce6"].count == 2
assert data.itemStatus["sc24b8f"].count == 3
assert data.itemStatus["s90e6c9"].count == 7
assert data.itemStatus["sd51c5b"].count == 0
assert data.itemStatus["s8ae72a"].count == 0
assert data.itemStatus["s78ea90"].count == 1
assert data.itemImport["ia857f0"].count == 5
assert data.itemImport["icfb3a5"].count == 2
assert data.itemImport["i2d7a54"].count == 2
assert data.itemImport["i56be10"].count == 1
# Compare content
dumpFile = tstPaths.outDir / "projectXML_ReadLegacy14.json"
@@ -869,7 +947,7 @@ def testCoreProjectXML_ReadLegacy14(tstPaths, fncPath, mockRnd):
for entry in content:
item = NWItem(mockProject, "0000000000000") # type: ignore
item.unpack(entry)
status[item.itemHandle] = item.getImportStatus(incIcon=False)[0]
status[item.itemHandle] = item.getImportStatus()[0]
packedContent.append(item.pack())
assert status == {
+95 -94
View File
@@ -49,14 +49,14 @@ def testCoreStatus_Internal(mockRnd):
assert nStatus._newKey() == statusKeys[1]
# Key collision, should move to key 3
nStatus.write(statusKeys[2], "Crash", (0, 0, 0), nwStatusShape.SQUARE)
nStatus.add(statusKeys[2], "Crash", (0, 0, 0), "SQUARE", 0)
assert nStatus._newKey() == statusKeys[3]
assert nImport._newKey() == importKeys[0]
assert nImport._newKey() == importKeys[1]
# Key collision, should move to key 3
nImport.write(importKeys[2], "Crash", (0, 0, 0), nwStatusShape.SQUARE)
nImport.add(importKeys[2], "Crash", (0, 0, 0), "SQUARE", 0)
assert nImport._newKey() == importKeys[3]
# Check Key
@@ -90,14 +90,14 @@ def testCoreStatus_Iterator(mockRnd):
"""Test the iterator functions of the NWStatus class."""
nStatus = NWStatus(NWStatus.STATUS)
nStatus.write(None, "New", (100, 100, 100), nwStatusShape.SQUARE)
nStatus.write(None, "Note", (200, 50, 0), nwStatusShape.SQUARE)
nStatus.write(None, "Draft", (200, 150, 0), nwStatusShape.SQUARE)
nStatus.write(None, "Finished", (50, 200, 0), nwStatusShape.SQUARE)
nStatus.add(None, "New", (100, 100, 100), "SQUARE", 0)
nStatus.add(None, "Note", (200, 50, 0), "SQUARE", 0)
nStatus.add(None, "Draft", (200, 150, 0), "SQUARE", 0)
nStatus.add(None, "Finished", (50, 200, 0), "SQUARE", 0)
# Direct access
entry = nStatus[statusKeys[0]]
assert entry.colour == QColor(100, 100, 100)
assert entry.color == QColor(100, 100, 100)
assert entry.name == "New"
assert entry.count == 0
assert isinstance(entry.icon, QIcon)
@@ -118,24 +118,24 @@ def testCoreStatus_Entries(mockRnd):
# =====
# Have a key
nStatus.write(statusKeys[0], "Entry 1", (200, 100, 50), nwStatusShape.SQUARE)
nStatus.add(statusKeys[0], "Entry 1", (200, 100, 50), "SQUARE", 0)
assert nStatus[statusKeys[0]].name == "Entry 1"
assert nStatus[statusKeys[0]].colour == QColor(200, 100, 50)
assert nStatus[statusKeys[0]].color == QColor(200, 100, 50)
# Don't have a key
nStatus.write(None, "Entry 2", (210, 110, 60), nwStatusShape.SQUARE)
nStatus.add(None, "Entry 2", (210, 110, 60), "SQUARE", 0)
assert nStatus[statusKeys[1]].name == "Entry 2"
assert nStatus[statusKeys[1]].colour == QColor(210, 110, 60)
assert nStatus[statusKeys[1]].color == QColor(210, 110, 60)
# Wrong colour spec
nStatus.write(None, "Entry 3", "what?", nwStatusShape.SQUARE) # type: ignore
nStatus.add(None, "Entry 3", "what?", "SQUARE", 0) # type: ignore
assert nStatus[statusKeys[2]].name == "Entry 3"
assert nStatus[statusKeys[2]].colour == QColor(100, 100, 100)
assert nStatus[statusKeys[2]].color == QColor(100, 100, 100)
# Wrong colour count
nStatus.write(None, "Entry 4", (10, 20), nwStatusShape.SQUARE) # type: ignore
nStatus.add(None, "Entry 4", (10, 20), "SQUARE", 0) # type: ignore
assert nStatus[statusKeys[3]].name == "Entry 4"
assert nStatus[statusKeys[3]].colour == QColor(100, 100, 100)
assert nStatus[statusKeys[3]].color == QColor(100, 100, 100)
# Check
# =====
@@ -150,29 +150,29 @@ def testCoreStatus_Entries(mockRnd):
# Name Access
# ===========
assert nStatus.name(statusKeys[0]) == "Entry 1"
assert nStatus.name(statusKeys[1]) == "Entry 2"
assert nStatus.name(statusKeys[2]) == "Entry 3"
assert nStatus.name(statusKeys[3]) == "Entry 4"
assert nStatus.name("blablabla") == "Entry 1"
assert nStatus[statusKeys[0]].name == "Entry 1"
assert nStatus[statusKeys[1]].name == "Entry 2"
assert nStatus[statusKeys[2]].name == "Entry 3"
assert nStatus[statusKeys[3]].name == "Entry 4"
assert nStatus["blablabla"].name == "Entry 1"
# Colour Access
# =============
assert nStatus.cols(statusKeys[0]) == QColor(200, 100, 50)
assert nStatus.cols(statusKeys[1]) == QColor(210, 110, 60)
assert nStatus.cols(statusKeys[2]) == QColor(100, 100, 100)
assert nStatus.cols(statusKeys[3]) == QColor(100, 100, 100)
assert nStatus.cols("blablabla") == QColor(200, 100, 50)
assert nStatus[statusKeys[0]].color == QColor(200, 100, 50)
assert nStatus[statusKeys[1]].color == QColor(210, 110, 60)
assert nStatus[statusKeys[2]].color == QColor(100, 100, 100)
assert nStatus[statusKeys[3]].color == QColor(100, 100, 100)
assert nStatus["blablabla"].color == QColor(200, 100, 50)
# Icon Access
# ===========
assert isinstance(nStatus.icon(statusKeys[0]), QIcon)
assert isinstance(nStatus.icon(statusKeys[1]), QIcon)
assert isinstance(nStatus.icon(statusKeys[2]), QIcon)
assert isinstance(nStatus.icon(statusKeys[3]), QIcon)
assert isinstance(nStatus.icon("blablabla"), QIcon)
assert isinstance(nStatus[statusKeys[0]].icon, QIcon)
assert isinstance(nStatus[statusKeys[1]].icon, QIcon)
assert isinstance(nStatus[statusKeys[2]].icon, QIcon)
assert isinstance(nStatus[statusKeys[3]].icon, QIcon)
assert isinstance(nStatus["blablabla"].icon, QIcon)
# Increment and Count Access
# ==========================
@@ -182,50 +182,50 @@ def testCoreStatus_Entries(mockRnd):
for _ in range(n):
nStatus.increment(statusKeys[i])
assert nStatus.count(statusKeys[0]) == countTo[0]
assert nStatus.count(statusKeys[1]) == countTo[1]
assert nStatus.count(statusKeys[2]) == countTo[2]
assert nStatus.count(statusKeys[3]) == countTo[3]
assert nStatus.count("blablabla") == countTo[0]
assert nStatus[statusKeys[0]].count == countTo[0]
assert nStatus[statusKeys[1]].count == countTo[1]
assert nStatus[statusKeys[2]].count == countTo[2]
assert nStatus[statusKeys[3]].count == countTo[3]
assert nStatus["blablabla"].count == countTo[0]
nStatus.resetCounts()
assert nStatus.count(statusKeys[0]) == 0
assert nStatus.count(statusKeys[1]) == 0
assert nStatus.count(statusKeys[2]) == 0
assert nStatus.count(statusKeys[3]) == 0
assert nStatus[statusKeys[0]].count == 0
assert nStatus[statusKeys[1]].count == 0
assert nStatus[statusKeys[2]].count == 0
assert nStatus[statusKeys[3]].count == 0
# Reorder
# =======
cOrder = list(nStatus._store.keys())
assert cOrder == statusKeys
# cOrder = list(nStatus._store.keys())
# assert cOrder == statusKeys
# Wrong length
assert nStatus.reorder([]) is False
# # Wrong length
# assert nStatus.reorder([]) is False
# No change
assert nStatus.reorder(cOrder) is False
# # No change
# assert nStatus.reorder(cOrder) is False
# Actual re-order
nOrder = [
statusKeys[0],
statusKeys[2],
statusKeys[1],
statusKeys[3],
]
assert nStatus.reorder(nOrder) is True
assert list(nStatus._store.keys()) == nOrder
# # Actual re-order
# nOrder = [
# statusKeys[0],
# statusKeys[2],
# statusKeys[1],
# statusKeys[3],
# ]
# assert nStatus.reorder(nOrder) is True
# assert list(nStatus._store.keys()) == nOrder
# Add an unknown key
wOrder = nOrder.copy()
wOrder[3] = nStatus._newKey()
assert nStatus.reorder(wOrder) is False
assert list(nStatus._store.keys()) == nOrder
# # Add an unknown key
# wOrder = nOrder.copy()
# wOrder[3] = nStatus._newKey()
# assert nStatus.reorder(wOrder) is False
# assert list(nStatus._store.keys()) == nOrder
# Put it back
assert nStatus.reorder(cOrder) is True
assert list(nStatus._store.keys()) == cOrder
# # Put it back
# assert nStatus.reorder(cOrder) is True
# assert list(nStatus._store.keys()) == cOrder
# Default
# =======
@@ -234,43 +234,44 @@ def testCoreStatus_Entries(mockRnd):
nStatus._default = None
assert nStatus.check("Entry 5") == ""
assert nStatus.name("blablabla") == ""
assert nStatus.cols("blablabla") == QColor(100, 100, 100)
assert nStatus.count("blablabla") == 0
assert isinstance(nStatus.icon("blablabla"), QIcon)
assert nStatus["blablabla"].name == ""
assert nStatus["blablabla"].color == QColor(0, 0, 0)
assert nStatus["blablabla"].shape == nwStatusShape.SQUARE
assert nStatus["blablabla"].icon.isNull()
assert nStatus["blablabla"].count == 0
nStatus._default = default
# Remove
# ======
# # Remove
# # ======
# Non-existing entry
assert nStatus.remove("blablabla") is False
# # Non-existing entry
# assert nStatus.remove("blablabla") is False
# Non-zero entry
nStatus.increment(statusKeys[3])
assert nStatus.remove(statusKeys[3]) is False
# # Non-zero entry
# nStatus.increment(statusKeys[3])
# assert nStatus.remove(statusKeys[3]) is False
# Delete last entry
nStatus.resetCounts()
lastName = nStatus.name(statusKeys[3])
assert lastName == "Entry 4"
assert nStatus.remove(statusKeys[3]) is True
assert nStatus.check(statusKeys[3]) == nStatus._default
assert nStatus.check(lastName) == nStatus._default
# # Delete last entry
# nStatus.resetCounts()
# lastName = nStatus[statusKeys[3]].name
# assert lastName == "Entry 4"
# assert nStatus.remove(statusKeys[3]) is True
# assert nStatus.check(statusKeys[3]) == nStatus._default
# assert nStatus.check(lastName) == nStatus._default
# Delete default entry, Entry 2 is new default
firstName = nStatus.name(nStatus._default)
assert firstName == "Entry 1"
assert nStatus.remove(nStatus._default) is True # type: ignore
assert nStatus.name(firstName) == "Entry 2"
# # Delete default entry, Entry 2 is new default
# firstName = nStatus[nStatus._default].name
# assert firstName == "Entry 1"
# assert nStatus.remove(nStatus._default) is True # type: ignore
# assert nStatus[firstName].name == "Entry 2"
# Remove remaining entries
assert nStatus.remove(statusKeys[1]) is True
assert nStatus.remove(statusKeys[2]) is True
# # Remove remaining entries
# assert nStatus.remove(statusKeys[1]) is True
# assert nStatus.remove(statusKeys[2]) is True
assert len(nStatus) == 0
assert nStatus._default is None
# assert len(nStatus) == 0
# assert nStatus._default is None
# END Test testCoreStatus_Entries
@@ -279,10 +280,10 @@ def testCoreStatus_Entries(mockRnd):
def testCoreStatus_PackUnpack(mockRnd):
"""Test all the pack/unpack of the NWStatus class."""
nStatus = NWStatus(NWStatus.STATUS)
nStatus.write(None, "New", (100, 100, 100), nwStatusShape.SQUARE)
nStatus.write(None, "Note", (200, 50, 0), nwStatusShape.SQUARE)
nStatus.write(None, "Draft", (200, 150, 0), nwStatusShape.SQUARE)
nStatus.write(None, "Finished", (50, 200, 0), nwStatusShape.SQUARE)
nStatus.add(None, "New", (100, 100, 100), "SQUARE", 0)
nStatus.add(None, "Note", (200, 50, 0), "SQUARE", 0)
nStatus.add(None, "Draft", (200, 150, 0), "SQUARE", 0)
nStatus.add(None, "Finished", (50, 200, 0), "SQUARE", 0)
countTo = [3, 5, 7, 9]
for i, n in enumerate(countTo):