Update core tests
This commit is contained in:
@@ -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")
|
||||
|
||||
@@ -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."""
|
||||
|
||||
@@ -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 == {
|
||||
|
||||
@@ -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):
|
||||
|
||||
Reference in New Issue
Block a user