Update core tests
This commit is contained in:
@@ -553,8 +553,8 @@ def testCoreItem_ClassDefaults(mockGUI):
|
|||||||
def testCoreItem_PackUnpack(mockGUI, caplog, mockRnd):
|
def testCoreItem_PackUnpack(mockGUI, caplog, mockRnd):
|
||||||
"""Test packing and unpacking entries for the NWItem class."""
|
"""Test packing and unpacking entries for the NWItem class."""
|
||||||
project = NWProject()
|
project = NWProject()
|
||||||
project.data.itemStatus.write(None, "New", (100, 100, 100), "SQUARE")
|
project.data.itemStatus.add(None, "New", (100, 100, 100), "SQUARE", 0)
|
||||||
project.data.itemImport.write(None, "New", (100, 100, 100), "SQUARE")
|
project.data.itemImport.add(None, "New", (100, 100, 100), "SQUARE", 0)
|
||||||
|
|
||||||
# Invalid
|
# Invalid
|
||||||
item = NWItem(project, "0000000000000")
|
item = NWItem(project, "0000000000000")
|
||||||
|
|||||||
@@ -400,115 +400,6 @@ def testCoreProject_AccessItems(mockGUI, fncPath, mockRnd):
|
|||||||
# END Test testCoreProject_AccessItems
|
# 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
|
@pytest.mark.core
|
||||||
def testCoreProject_Methods(monkeypatch, mockGUI, fncPath, mockRnd):
|
def testCoreProject_Methods(monkeypatch, mockGUI, fncPath, mockRnd):
|
||||||
"""Test other project class methods and functions."""
|
"""Test other project class methods and functions."""
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ from shutil import copyfile
|
|||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from novelwriter.constants import nwFiles
|
from novelwriter.constants import nwFiles
|
||||||
|
|
||||||
|
from novelwriter.enum import nwStatusShape
|
||||||
from tools import cmpFiles, writeFile
|
from tools import cmpFiles, writeFile
|
||||||
from mocked import causeOSError
|
from mocked import causeOSError
|
||||||
|
|
||||||
@@ -156,44 +157,57 @@ def testCoreProjectXML_ReadCurrent(monkeypatch, tstPaths, fncPath):
|
|||||||
assert data.getLastHandle("novelTree") == "7031beac91f75"
|
assert data.getLastHandle("novelTree") == "7031beac91f75"
|
||||||
assert data.getLastHandle("outline") == "7031beac91f75"
|
assert data.getLastHandle("outline") == "7031beac91f75"
|
||||||
|
|
||||||
assert data.itemStatus.name("sf12341") == "New"
|
assert data.itemStatus["sf12341"].name == "New"
|
||||||
assert data.itemStatus.name("sf24ce6") == "Notes"
|
assert data.itemStatus["sf24ce6"].name == "Notes"
|
||||||
assert data.itemStatus.name("sc24b8f") == "Started"
|
assert data.itemStatus["sc24b8f"].name == "Started"
|
||||||
assert data.itemStatus.name("s90e6c9") == "1st Draft"
|
assert data.itemStatus["s90e6c9"].name == "1st Draft"
|
||||||
assert data.itemStatus.name("sd51c5b") == "2nd Draft"
|
assert data.itemStatus["sd51c5b"].name == "2nd Draft"
|
||||||
assert data.itemStatus.name("s8ae72a") == "3rd Draft"
|
assert data.itemStatus["s8ae72a"].name == "3rd Draft"
|
||||||
assert data.itemStatus.name("s78ea90") == "Finished"
|
assert data.itemStatus["s78ea90"].name == "Finished"
|
||||||
|
|
||||||
assert data.itemImport.name("ia857f0") == "None"
|
assert data.itemImport["ia857f0"].name == "None"
|
||||||
assert data.itemImport.name("icfb3a5") == "Minor"
|
assert data.itemImport["icfb3a5"].name == "Minor"
|
||||||
assert data.itemImport.name("i2d7a54") == "Major"
|
assert data.itemImport["i2d7a54"].name == "Major"
|
||||||
assert data.itemImport.name("i56be10") == "Main"
|
assert data.itemImport["i56be10"].name == "Main"
|
||||||
|
|
||||||
assert data.itemStatus.cols("sf12341") == QColor(100, 100, 100)
|
assert data.itemStatus["sf12341"].color == QColor(100, 100, 100)
|
||||||
assert data.itemStatus.cols("sf24ce6") == QColor(200, 50, 0)
|
assert data.itemStatus["sf24ce6"].color == QColor(200, 50, 0)
|
||||||
assert data.itemStatus.cols("sc24b8f") == QColor(182, 60, 0)
|
assert data.itemStatus["sc24b8f"].color == QColor(182, 60, 0)
|
||||||
assert data.itemStatus.cols("s90e6c9") == QColor(193, 129, 0)
|
assert data.itemStatus["s90e6c9"].color == QColor(193, 129, 0)
|
||||||
assert data.itemStatus.cols("sd51c5b") == QColor(193, 129, 0)
|
assert data.itemStatus["sd51c5b"].color == QColor(193, 129, 0)
|
||||||
assert data.itemStatus.cols("s8ae72a") == QColor(193, 129, 0)
|
assert data.itemStatus["s8ae72a"].color == QColor(193, 129, 0)
|
||||||
assert data.itemStatus.cols("s78ea90") == QColor(58, 180, 58)
|
assert data.itemStatus["s78ea90"].color == QColor(58, 180, 58)
|
||||||
|
|
||||||
assert data.itemImport.cols("ia857f0") == QColor(100, 100, 100)
|
assert data.itemImport["ia857f0"].color == QColor(100, 100, 100)
|
||||||
assert data.itemImport.cols("icfb3a5") == QColor(0, 122, 188)
|
assert data.itemImport["icfb3a5"].color == QColor(0, 122, 188)
|
||||||
assert data.itemImport.cols("i2d7a54") == QColor(21, 0, 180)
|
assert data.itemImport["i2d7a54"].color == QColor(21, 0, 180)
|
||||||
assert data.itemImport.cols("i56be10") == QColor(117, 0, 175)
|
assert data.itemImport["i56be10"].color == QColor(117, 0, 175)
|
||||||
|
|
||||||
assert data.itemStatus.count("sf12341") == 4
|
assert data.itemStatus["sf12341"].shape == nwStatusShape.SQUARE
|
||||||
assert data.itemStatus.count("sf24ce6") == 2
|
assert data.itemStatus["sf24ce6"].shape == nwStatusShape.SQUARE
|
||||||
assert data.itemStatus.count("sc24b8f") == 3
|
assert data.itemStatus["sc24b8f"].shape == nwStatusShape.SQUARE
|
||||||
assert data.itemStatus.count("s90e6c9") == 7
|
assert data.itemStatus["s90e6c9"].shape == nwStatusShape.SQUARE
|
||||||
assert data.itemStatus.count("sd51c5b") == 0
|
assert data.itemStatus["sd51c5b"].shape == nwStatusShape.SQUARE
|
||||||
assert data.itemStatus.count("s8ae72a") == 0
|
assert data.itemStatus["s8ae72a"].shape == nwStatusShape.SQUARE
|
||||||
assert data.itemStatus.count("s78ea90") == 1
|
assert data.itemStatus["s78ea90"].shape == nwStatusShape.SQUARE
|
||||||
|
|
||||||
assert data.itemImport.count("ia857f0") == 5
|
assert data.itemImport["ia857f0"].shape == nwStatusShape.SQUARE
|
||||||
assert data.itemImport.count("icfb3a5") == 2
|
assert data.itemImport["icfb3a5"].shape == nwStatusShape.SQUARE
|
||||||
assert data.itemImport.count("i2d7a54") == 2
|
assert data.itemImport["i2d7a54"].shape == nwStatusShape.SQUARE
|
||||||
assert data.itemImport.count("i56be10") == 1
|
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
|
# Compare content
|
||||||
dumpFile = tstPaths.outDir / "projectXML_ReadCurrent.json"
|
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("novelTree") is None # Doesn't exist in 1.0
|
||||||
assert data.getLastHandle("outline") 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["s000000"].name == "New"
|
||||||
assert data.itemStatus.name("s000001") == "Notes"
|
assert data.itemStatus["s000001"].name == "Notes"
|
||||||
assert data.itemStatus.name("s000002") == "Started"
|
assert data.itemStatus["s000002"].name == "Started"
|
||||||
assert data.itemStatus.name("s000003") == "1st Draft"
|
assert data.itemStatus["s000003"].name == "1st Draft"
|
||||||
assert data.itemStatus.name("s000004") == "2nd Draft"
|
assert data.itemStatus["s000004"].name == "2nd Draft"
|
||||||
assert data.itemStatus.name("s000005") == "3rd Draft"
|
assert data.itemStatus["s000005"].name == "3rd Draft"
|
||||||
assert data.itemStatus.name("s000006") == "Finished"
|
assert data.itemStatus["s000006"].name == "Finished"
|
||||||
|
|
||||||
assert data.itemImport.name("i000007") == "None"
|
assert data.itemImport["i000007"].name == "None"
|
||||||
assert data.itemImport.name("i000008") == "Minor"
|
assert data.itemImport["i000008"].name == "Minor"
|
||||||
assert data.itemImport.name("i000009") == "Major"
|
assert data.itemImport["i000009"].name == "Major"
|
||||||
assert data.itemImport.name("i00000a") == "Main"
|
assert data.itemImport["i00000a"].name == "Main"
|
||||||
|
|
||||||
assert data.itemStatus.cols("s000000") == QColor(100, 100, 100)
|
assert data.itemStatus["s000000"].color == QColor(100, 100, 100)
|
||||||
assert data.itemStatus.cols("s000001") == QColor(200, 50, 0)
|
assert data.itemStatus["s000001"].color == QColor(200, 50, 0)
|
||||||
assert data.itemStatus.cols("s000002") == QColor(182, 60, 0)
|
assert data.itemStatus["s000002"].color == QColor(182, 60, 0)
|
||||||
assert data.itemStatus.cols("s000003") == QColor(193, 129, 0)
|
assert data.itemStatus["s000003"].color == QColor(193, 129, 0)
|
||||||
assert data.itemStatus.cols("s000004") == QColor(193, 129, 0)
|
assert data.itemStatus["s000004"].color == QColor(193, 129, 0)
|
||||||
assert data.itemStatus.cols("s000005") == QColor(193, 129, 0)
|
assert data.itemStatus["s000005"].color == QColor(193, 129, 0)
|
||||||
assert data.itemStatus.cols("s000006") == QColor(58, 180, 58)
|
assert data.itemStatus["s000006"].color == QColor(58, 180, 58)
|
||||||
|
|
||||||
assert data.itemImport.cols("i000007") == QColor(100, 100, 100)
|
assert data.itemImport["i000007"].color == QColor(100, 100, 100)
|
||||||
assert data.itemImport.cols("i000008") == QColor(0, 122, 188)
|
assert data.itemImport["i000008"].color == QColor(0, 122, 188)
|
||||||
assert data.itemImport.cols("i000009") == QColor(21, 0, 180)
|
assert data.itemImport["i000009"].color == QColor(21, 0, 180)
|
||||||
assert data.itemImport.cols("i00000a") == QColor(117, 0, 175)
|
assert data.itemImport["i00000a"].color == QColor(117, 0, 175)
|
||||||
|
|
||||||
assert data.itemStatus.count("s000000") == 0
|
assert data.itemStatus["s000000"].shape == nwStatusShape.SQUARE
|
||||||
assert data.itemStatus.count("s000001") == 0
|
assert data.itemStatus["s000001"].shape == nwStatusShape.SQUARE
|
||||||
assert data.itemStatus.count("s000002") == 0
|
assert data.itemStatus["s000002"].shape == nwStatusShape.SQUARE
|
||||||
assert data.itemStatus.count("s000003") == 0
|
assert data.itemStatus["s000003"].shape == nwStatusShape.SQUARE
|
||||||
assert data.itemStatus.count("s000004") == 0
|
assert data.itemStatus["s000004"].shape == nwStatusShape.SQUARE
|
||||||
assert data.itemStatus.count("s000005") == 0
|
assert data.itemStatus["s000005"].shape == nwStatusShape.SQUARE
|
||||||
assert data.itemStatus.count("s000006") == 0
|
assert data.itemStatus["s000006"].shape == nwStatusShape.SQUARE
|
||||||
|
|
||||||
assert data.itemImport.count("i000007") == 0
|
assert data.itemImport["i000007"].shape == nwStatusShape.SQUARE
|
||||||
assert data.itemImport.count("i000008") == 0
|
assert data.itemImport["i000008"].shape == nwStatusShape.SQUARE
|
||||||
assert data.itemImport.count("i000009") == 0
|
assert data.itemImport["i000009"].shape == nwStatusShape.SQUARE
|
||||||
assert data.itemImport.count("i00000a") == 0
|
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
|
# Compare content
|
||||||
dumpFile = tstPaths.outDir / "projectXML_ReadLegacy10.json"
|
dumpFile = tstPaths.outDir / "projectXML_ReadLegacy10.json"
|
||||||
@@ -327,7 +354,7 @@ def testCoreProjectXML_ReadLegacy10(tstPaths, fncPath, mockRnd):
|
|||||||
for entry in content:
|
for entry in content:
|
||||||
item = NWItem(mockProject, "0000000000000") # type: ignore
|
item = NWItem(mockProject, "0000000000000") # type: ignore
|
||||||
item.unpack(entry)
|
item.unpack(entry)
|
||||||
status[item.itemHandle] = item.getImportStatus(incIcon=False)[0]
|
status[item.itemHandle] = item.getImportStatus()[0]
|
||||||
packedContent.append(item.pack())
|
packedContent.append(item.pack())
|
||||||
|
|
||||||
assert status == {
|
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("novelTree") is None # Doesn't exist in 1.1
|
||||||
assert data.getLastHandle("outline") 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["s000000"].name == "New"
|
||||||
assert data.itemStatus.name("s000001") == "Notes"
|
assert data.itemStatus["s000001"].name == "Notes"
|
||||||
assert data.itemStatus.name("s000002") == "Started"
|
assert data.itemStatus["s000002"].name == "Started"
|
||||||
assert data.itemStatus.name("s000003") == "1st Draft"
|
assert data.itemStatus["s000003"].name == "1st Draft"
|
||||||
assert data.itemStatus.name("s000004") == "2nd Draft"
|
assert data.itemStatus["s000004"].name == "2nd Draft"
|
||||||
assert data.itemStatus.name("s000005") == "3rd Draft"
|
assert data.itemStatus["s000005"].name == "3rd Draft"
|
||||||
assert data.itemStatus.name("s000006") == "Finished"
|
assert data.itemStatus["s000006"].name == "Finished"
|
||||||
|
|
||||||
assert data.itemImport.name("i000007") == "None"
|
assert data.itemImport["i000007"].name == "None"
|
||||||
assert data.itemImport.name("i000008") == "Minor"
|
assert data.itemImport["i000008"].name == "Minor"
|
||||||
assert data.itemImport.name("i000009") == "Major"
|
assert data.itemImport["i000009"].name == "Major"
|
||||||
assert data.itemImport.name("i00000a") == "Main"
|
assert data.itemImport["i00000a"].name == "Main"
|
||||||
|
|
||||||
assert data.itemStatus.cols("s000000") == QColor(100, 100, 100)
|
assert data.itemStatus["s000000"].color == QColor(100, 100, 100)
|
||||||
assert data.itemStatus.cols("s000001") == QColor(200, 50, 0)
|
assert data.itemStatus["s000001"].color == QColor(200, 50, 0)
|
||||||
assert data.itemStatus.cols("s000002") == QColor(182, 60, 0)
|
assert data.itemStatus["s000002"].color == QColor(182, 60, 0)
|
||||||
assert data.itemStatus.cols("s000003") == QColor(193, 129, 0)
|
assert data.itemStatus["s000003"].color == QColor(193, 129, 0)
|
||||||
assert data.itemStatus.cols("s000004") == QColor(193, 129, 0)
|
assert data.itemStatus["s000004"].color == QColor(193, 129, 0)
|
||||||
assert data.itemStatus.cols("s000005") == QColor(193, 129, 0)
|
assert data.itemStatus["s000005"].color == QColor(193, 129, 0)
|
||||||
assert data.itemStatus.cols("s000006") == QColor(58, 180, 58)
|
assert data.itemStatus["s000006"].color == QColor(58, 180, 58)
|
||||||
|
|
||||||
assert data.itemImport.cols("i000007") == QColor(100, 100, 100)
|
assert data.itemImport["i000007"].color == QColor(100, 100, 100)
|
||||||
assert data.itemImport.cols("i000008") == QColor(0, 122, 188)
|
assert data.itemImport["i000008"].color == QColor(0, 122, 188)
|
||||||
assert data.itemImport.cols("i000009") == QColor(21, 0, 180)
|
assert data.itemImport["i000009"].color == QColor(21, 0, 180)
|
||||||
assert data.itemImport.cols("i00000a") == QColor(117, 0, 175)
|
assert data.itemImport["i00000a"].color == QColor(117, 0, 175)
|
||||||
|
|
||||||
assert data.itemStatus.count("s000000") == 0
|
assert data.itemStatus["s000000"].shape == nwStatusShape.SQUARE
|
||||||
assert data.itemStatus.count("s000001") == 0
|
assert data.itemStatus["s000001"].shape == nwStatusShape.SQUARE
|
||||||
assert data.itemStatus.count("s000002") == 0
|
assert data.itemStatus["s000002"].shape == nwStatusShape.SQUARE
|
||||||
assert data.itemStatus.count("s000003") == 0
|
assert data.itemStatus["s000003"].shape == nwStatusShape.SQUARE
|
||||||
assert data.itemStatus.count("s000004") == 0
|
assert data.itemStatus["s000004"].shape == nwStatusShape.SQUARE
|
||||||
assert data.itemStatus.count("s000005") == 0
|
assert data.itemStatus["s000005"].shape == nwStatusShape.SQUARE
|
||||||
assert data.itemStatus.count("s000006") == 0
|
assert data.itemStatus["s000006"].shape == nwStatusShape.SQUARE
|
||||||
|
|
||||||
assert data.itemImport.count("i000007") == 0
|
assert data.itemImport["i000007"].shape == nwStatusShape.SQUARE
|
||||||
assert data.itemImport.count("i000008") == 0
|
assert data.itemImport["i000008"].shape == nwStatusShape.SQUARE
|
||||||
assert data.itemImport.count("i000009") == 0
|
assert data.itemImport["i000009"].shape == nwStatusShape.SQUARE
|
||||||
assert data.itemImport.count("i00000a") == 0
|
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
|
# Compare content
|
||||||
dumpFile = tstPaths.outDir / "projectXML_ReadLegacy11.json"
|
dumpFile = tstPaths.outDir / "projectXML_ReadLegacy11.json"
|
||||||
@@ -461,7 +501,7 @@ def testCoreProjectXML_ReadLegacy11(tstPaths, fncPath, mockRnd):
|
|||||||
for entry in content:
|
for entry in content:
|
||||||
item = NWItem(mockProject, "0000000000000") # type: ignore
|
item = NWItem(mockProject, "0000000000000") # type: ignore
|
||||||
item.unpack(entry)
|
item.unpack(entry)
|
||||||
status[item.itemHandle] = item.getImportStatus(incIcon=False)[0]
|
status[item.itemHandle] = item.getImportStatus()[0]
|
||||||
packedContent.append(item.pack())
|
packedContent.append(item.pack())
|
||||||
|
|
||||||
assert status == {
|
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("novelTree") is None # Doesn't exist in 1.2
|
||||||
assert data.getLastHandle("outline") 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["s000000"].name == "New"
|
||||||
assert data.itemStatus.name("s000001") == "Notes"
|
assert data.itemStatus["s000001"].name == "Notes"
|
||||||
assert data.itemStatus.name("s000002") == "Started"
|
assert data.itemStatus["s000002"].name == "Started"
|
||||||
assert data.itemStatus.name("s000003") == "1st Draft"
|
assert data.itemStatus["s000003"].name == "1st Draft"
|
||||||
assert data.itemStatus.name("s000004") == "2nd Draft"
|
assert data.itemStatus["s000004"].name == "2nd Draft"
|
||||||
assert data.itemStatus.name("s000005") == "3rd Draft"
|
assert data.itemStatus["s000005"].name == "3rd Draft"
|
||||||
assert data.itemStatus.name("s000006") == "Finished"
|
assert data.itemStatus["s000006"].name == "Finished"
|
||||||
|
|
||||||
assert data.itemImport.name("i000007") == "None"
|
assert data.itemImport["i000007"].name == "None"
|
||||||
assert data.itemImport.name("i000008") == "Minor"
|
assert data.itemImport["i000008"].name == "Minor"
|
||||||
assert data.itemImport.name("i000009") == "Major"
|
assert data.itemImport["i000009"].name == "Major"
|
||||||
assert data.itemImport.name("i00000a") == "Main"
|
assert data.itemImport["i00000a"].name == "Main"
|
||||||
|
|
||||||
assert data.itemStatus.cols("s000000") == QColor(100, 100, 100)
|
assert data.itemStatus["s000000"].color == QColor(100, 100, 100)
|
||||||
assert data.itemStatus.cols("s000001") == QColor(200, 50, 0)
|
assert data.itemStatus["s000001"].color == QColor(200, 50, 0)
|
||||||
assert data.itemStatus.cols("s000002") == QColor(182, 60, 0)
|
assert data.itemStatus["s000002"].color == QColor(182, 60, 0)
|
||||||
assert data.itemStatus.cols("s000003") == QColor(193, 129, 0)
|
assert data.itemStatus["s000003"].color == QColor(193, 129, 0)
|
||||||
assert data.itemStatus.cols("s000004") == QColor(193, 129, 0)
|
assert data.itemStatus["s000004"].color == QColor(193, 129, 0)
|
||||||
assert data.itemStatus.cols("s000005") == QColor(193, 129, 0)
|
assert data.itemStatus["s000005"].color == QColor(193, 129, 0)
|
||||||
assert data.itemStatus.cols("s000006") == QColor(58, 180, 58)
|
assert data.itemStatus["s000006"].color == QColor(58, 180, 58)
|
||||||
|
|
||||||
assert data.itemImport.cols("i000007") == QColor(100, 100, 100)
|
assert data.itemImport["i000007"].color == QColor(100, 100, 100)
|
||||||
assert data.itemImport.cols("i000008") == QColor(0, 122, 188)
|
assert data.itemImport["i000008"].color == QColor(0, 122, 188)
|
||||||
assert data.itemImport.cols("i000009") == QColor(21, 0, 180)
|
assert data.itemImport["i000009"].color == QColor(21, 0, 180)
|
||||||
assert data.itemImport.cols("i00000a") == QColor(117, 0, 175)
|
assert data.itemImport["i00000a"].color == QColor(117, 0, 175)
|
||||||
|
|
||||||
assert data.itemStatus.count("s000000") == 0
|
assert data.itemStatus["s000000"].shape == nwStatusShape.SQUARE
|
||||||
assert data.itemStatus.count("s000001") == 0
|
assert data.itemStatus["s000001"].shape == nwStatusShape.SQUARE
|
||||||
assert data.itemStatus.count("s000002") == 0
|
assert data.itemStatus["s000002"].shape == nwStatusShape.SQUARE
|
||||||
assert data.itemStatus.count("s000003") == 0
|
assert data.itemStatus["s000003"].shape == nwStatusShape.SQUARE
|
||||||
assert data.itemStatus.count("s000004") == 0
|
assert data.itemStatus["s000004"].shape == nwStatusShape.SQUARE
|
||||||
assert data.itemStatus.count("s000005") == 0
|
assert data.itemStatus["s000005"].shape == nwStatusShape.SQUARE
|
||||||
assert data.itemStatus.count("s000006") == 0
|
assert data.itemStatus["s000006"].shape == nwStatusShape.SQUARE
|
||||||
|
|
||||||
assert data.itemImport.count("i000007") == 0
|
assert data.itemImport["i000007"].shape == nwStatusShape.SQUARE
|
||||||
assert data.itemImport.count("i000008") == 0
|
assert data.itemImport["i000008"].shape == nwStatusShape.SQUARE
|
||||||
assert data.itemImport.count("i000009") == 0
|
assert data.itemImport["i000009"].shape == nwStatusShape.SQUARE
|
||||||
assert data.itemImport.count("i00000a") == 0
|
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
|
# Compare content
|
||||||
dumpFile = tstPaths.outDir / "projectXML_ReadLegacy12.json"
|
dumpFile = tstPaths.outDir / "projectXML_ReadLegacy12.json"
|
||||||
@@ -595,7 +648,7 @@ def testCoreProjectXML_ReadLegacy12(tstPaths, fncPath, mockRnd):
|
|||||||
for entry in content:
|
for entry in content:
|
||||||
item = NWItem(mockProject, "0000000000000") # type: ignore
|
item = NWItem(mockProject, "0000000000000") # type: ignore
|
||||||
item.unpack(entry)
|
item.unpack(entry)
|
||||||
status[item.itemHandle] = item.getImportStatus(incIcon=False)[0]
|
status[item.itemHandle] = item.getImportStatus()[0]
|
||||||
packedContent.append(item.pack())
|
packedContent.append(item.pack())
|
||||||
|
|
||||||
assert status == {
|
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("novelTree") is None # Doesn't exist in 1.3
|
||||||
assert data.getLastHandle("outline") 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["s000000"].name == "New"
|
||||||
assert data.itemStatus.name("s000001") == "Notes"
|
assert data.itemStatus["s000001"].name == "Notes"
|
||||||
assert data.itemStatus.name("s000002") == "Started"
|
assert data.itemStatus["s000002"].name == "Started"
|
||||||
assert data.itemStatus.name("s000003") == "1st Draft"
|
assert data.itemStatus["s000003"].name == "1st Draft"
|
||||||
assert data.itemStatus.name("s000004") == "2nd Draft"
|
assert data.itemStatus["s000004"].name == "2nd Draft"
|
||||||
assert data.itemStatus.name("s000005") == "3rd Draft"
|
assert data.itemStatus["s000005"].name == "3rd Draft"
|
||||||
assert data.itemStatus.name("s000006") == "Finished"
|
assert data.itemStatus["s000006"].name == "Finished"
|
||||||
|
|
||||||
assert data.itemImport.name("i000007") == "None"
|
assert data.itemImport["i000007"].name == "None"
|
||||||
assert data.itemImport.name("i000008") == "Minor"
|
assert data.itemImport["i000008"].name == "Minor"
|
||||||
assert data.itemImport.name("i000009") == "Major"
|
assert data.itemImport["i000009"].name == "Major"
|
||||||
assert data.itemImport.name("i00000a") == "Main"
|
assert data.itemImport["i00000a"].name == "Main"
|
||||||
|
|
||||||
assert data.itemStatus.cols("s000000") == QColor(100, 100, 100)
|
assert data.itemStatus["s000000"].color == QColor(100, 100, 100)
|
||||||
assert data.itemStatus.cols("s000001") == QColor(200, 50, 0)
|
assert data.itemStatus["s000001"].color == QColor(200, 50, 0)
|
||||||
assert data.itemStatus.cols("s000002") == QColor(182, 60, 0)
|
assert data.itemStatus["s000002"].color == QColor(182, 60, 0)
|
||||||
assert data.itemStatus.cols("s000003") == QColor(193, 129, 0)
|
assert data.itemStatus["s000003"].color == QColor(193, 129, 0)
|
||||||
assert data.itemStatus.cols("s000004") == QColor(193, 129, 0)
|
assert data.itemStatus["s000004"].color == QColor(193, 129, 0)
|
||||||
assert data.itemStatus.cols("s000005") == QColor(193, 129, 0)
|
assert data.itemStatus["s000005"].color == QColor(193, 129, 0)
|
||||||
assert data.itemStatus.cols("s000006") == QColor(58, 180, 58)
|
assert data.itemStatus["s000006"].color == QColor(58, 180, 58)
|
||||||
|
|
||||||
assert data.itemImport.cols("i000007") == QColor(100, 100, 100)
|
assert data.itemImport["i000007"].color == QColor(100, 100, 100)
|
||||||
assert data.itemImport.cols("i000008") == QColor(0, 122, 188)
|
assert data.itemImport["i000008"].color == QColor(0, 122, 188)
|
||||||
assert data.itemImport.cols("i000009") == QColor(21, 0, 180)
|
assert data.itemImport["i000009"].color == QColor(21, 0, 180)
|
||||||
assert data.itemImport.cols("i00000a") == QColor(117, 0, 175)
|
assert data.itemImport["i00000a"].color == QColor(117, 0, 175)
|
||||||
|
|
||||||
assert data.itemStatus.count("s000000") == 0
|
assert data.itemStatus["s000000"].shape == nwStatusShape.SQUARE
|
||||||
assert data.itemStatus.count("s000001") == 0
|
assert data.itemStatus["s000001"].shape == nwStatusShape.SQUARE
|
||||||
assert data.itemStatus.count("s000002") == 0
|
assert data.itemStatus["s000002"].shape == nwStatusShape.SQUARE
|
||||||
assert data.itemStatus.count("s000003") == 0
|
assert data.itemStatus["s000003"].shape == nwStatusShape.SQUARE
|
||||||
assert data.itemStatus.count("s000004") == 0
|
assert data.itemStatus["s000004"].shape == nwStatusShape.SQUARE
|
||||||
assert data.itemStatus.count("s000005") == 0
|
assert data.itemStatus["s000005"].shape == nwStatusShape.SQUARE
|
||||||
assert data.itemStatus.count("s000006") == 0
|
assert data.itemStatus["s000006"].shape == nwStatusShape.SQUARE
|
||||||
|
|
||||||
assert data.itemImport.count("i000007") == 0
|
assert data.itemImport["i000007"].shape == nwStatusShape.SQUARE
|
||||||
assert data.itemImport.count("i000008") == 0
|
assert data.itemImport["i000008"].shape == nwStatusShape.SQUARE
|
||||||
assert data.itemImport.count("i000009") == 0
|
assert data.itemImport["i000009"].shape == nwStatusShape.SQUARE
|
||||||
assert data.itemImport.count("i00000a") == 0
|
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
|
# Compare content
|
||||||
dumpFile = tstPaths.outDir / "projectXML_ReadLegacy13.json"
|
dumpFile = tstPaths.outDir / "projectXML_ReadLegacy13.json"
|
||||||
@@ -732,7 +798,7 @@ def testCoreProjectXML_ReadLegacy13(tstPaths, fncPath, mockRnd):
|
|||||||
for entry in content:
|
for entry in content:
|
||||||
item = NWItem(mockProject, "0000000000000") # type: ignore
|
item = NWItem(mockProject, "0000000000000") # type: ignore
|
||||||
item.unpack(entry)
|
item.unpack(entry)
|
||||||
status[item.itemHandle] = item.getImportStatus(incIcon=False)[0]
|
status[item.itemHandle] = item.getImportStatus()[0]
|
||||||
packedContent.append(item.pack())
|
packedContent.append(item.pack())
|
||||||
|
|
||||||
assert status == {
|
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("novelTree") is None # Doesn't exist in 1.3
|
||||||
assert data.getLastHandle("outline") 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["sf12341"].name == "New"
|
||||||
assert data.itemStatus.name("sf24ce6") == "Notes"
|
assert data.itemStatus["sf24ce6"].name == "Notes"
|
||||||
assert data.itemStatus.name("sc24b8f") == "Started"
|
assert data.itemStatus["sc24b8f"].name == "Started"
|
||||||
assert data.itemStatus.name("s90e6c9") == "1st Draft"
|
assert data.itemStatus["s90e6c9"].name == "1st Draft"
|
||||||
assert data.itemStatus.name("sd51c5b") == "2nd Draft"
|
assert data.itemStatus["sd51c5b"].name == "2nd Draft"
|
||||||
assert data.itemStatus.name("s8ae72a") == "3rd Draft"
|
assert data.itemStatus["s8ae72a"].name == "3rd Draft"
|
||||||
assert data.itemStatus.name("s78ea90") == "Finished"
|
assert data.itemStatus["s78ea90"].name == "Finished"
|
||||||
|
|
||||||
assert data.itemImport.name("ia857f0") == "None"
|
assert data.itemImport["ia857f0"].name == "None"
|
||||||
assert data.itemImport.name("icfb3a5") == "Minor"
|
assert data.itemImport["icfb3a5"].name == "Minor"
|
||||||
assert data.itemImport.name("i2d7a54") == "Major"
|
assert data.itemImport["i2d7a54"].name == "Major"
|
||||||
assert data.itemImport.name("i56be10") == "Main"
|
assert data.itemImport["i56be10"].name == "Main"
|
||||||
|
|
||||||
assert data.itemStatus.cols("sf12341") == QColor(100, 100, 100)
|
assert data.itemStatus["sf12341"].color == QColor(100, 100, 100)
|
||||||
assert data.itemStatus.cols("sf24ce6") == QColor(200, 50, 0)
|
assert data.itemStatus["sf24ce6"].color == QColor(200, 50, 0)
|
||||||
assert data.itemStatus.cols("sc24b8f") == QColor(182, 60, 0)
|
assert data.itemStatus["sc24b8f"].color == QColor(182, 60, 0)
|
||||||
assert data.itemStatus.cols("s90e6c9") == QColor(193, 129, 0)
|
assert data.itemStatus["s90e6c9"].color == QColor(193, 129, 0)
|
||||||
assert data.itemStatus.cols("sd51c5b") == QColor(193, 129, 0)
|
assert data.itemStatus["sd51c5b"].color == QColor(193, 129, 0)
|
||||||
assert data.itemStatus.cols("s8ae72a") == QColor(193, 129, 0)
|
assert data.itemStatus["s8ae72a"].color == QColor(193, 129, 0)
|
||||||
assert data.itemStatus.cols("s78ea90") == QColor(58, 180, 58)
|
assert data.itemStatus["s78ea90"].color == QColor(58, 180, 58)
|
||||||
|
|
||||||
assert data.itemImport.cols("ia857f0") == QColor(100, 100, 100)
|
assert data.itemImport["ia857f0"].color == QColor(100, 100, 100)
|
||||||
assert data.itemImport.cols("icfb3a5") == QColor(0, 122, 188)
|
assert data.itemImport["icfb3a5"].color == QColor(0, 122, 188)
|
||||||
assert data.itemImport.cols("i2d7a54") == QColor(21, 0, 180)
|
assert data.itemImport["i2d7a54"].color == QColor(21, 0, 180)
|
||||||
assert data.itemImport.cols("i56be10") == QColor(117, 0, 175)
|
assert data.itemImport["i56be10"].color == QColor(117, 0, 175)
|
||||||
|
|
||||||
assert data.itemStatus.count("sf12341") == 4
|
assert data.itemStatus["sf12341"].shape == nwStatusShape.SQUARE
|
||||||
assert data.itemStatus.count("sf24ce6") == 2
|
assert data.itemStatus["sf24ce6"].shape == nwStatusShape.SQUARE
|
||||||
assert data.itemStatus.count("sc24b8f") == 3
|
assert data.itemStatus["sc24b8f"].shape == nwStatusShape.SQUARE
|
||||||
assert data.itemStatus.count("s90e6c9") == 7
|
assert data.itemStatus["s90e6c9"].shape == nwStatusShape.SQUARE
|
||||||
assert data.itemStatus.count("sd51c5b") == 0
|
assert data.itemStatus["sd51c5b"].shape == nwStatusShape.SQUARE
|
||||||
assert data.itemStatus.count("s8ae72a") == 0
|
assert data.itemStatus["s8ae72a"].shape == nwStatusShape.SQUARE
|
||||||
assert data.itemStatus.count("s78ea90") == 1
|
assert data.itemStatus["s78ea90"].shape == nwStatusShape.SQUARE
|
||||||
|
|
||||||
assert data.itemImport.count("ia857f0") == 5
|
assert data.itemImport["ia857f0"].shape == nwStatusShape.SQUARE
|
||||||
assert data.itemImport.count("icfb3a5") == 2
|
assert data.itemImport["icfb3a5"].shape == nwStatusShape.SQUARE
|
||||||
assert data.itemImport.count("i2d7a54") == 2
|
assert data.itemImport["i2d7a54"].shape == nwStatusShape.SQUARE
|
||||||
assert data.itemImport.count("i56be10") == 1
|
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
|
# Compare content
|
||||||
dumpFile = tstPaths.outDir / "projectXML_ReadLegacy14.json"
|
dumpFile = tstPaths.outDir / "projectXML_ReadLegacy14.json"
|
||||||
@@ -869,7 +947,7 @@ def testCoreProjectXML_ReadLegacy14(tstPaths, fncPath, mockRnd):
|
|||||||
for entry in content:
|
for entry in content:
|
||||||
item = NWItem(mockProject, "0000000000000") # type: ignore
|
item = NWItem(mockProject, "0000000000000") # type: ignore
|
||||||
item.unpack(entry)
|
item.unpack(entry)
|
||||||
status[item.itemHandle] = item.getImportStatus(incIcon=False)[0]
|
status[item.itemHandle] = item.getImportStatus()[0]
|
||||||
packedContent.append(item.pack())
|
packedContent.append(item.pack())
|
||||||
|
|
||||||
assert status == {
|
assert status == {
|
||||||
|
|||||||
@@ -49,14 +49,14 @@ def testCoreStatus_Internal(mockRnd):
|
|||||||
assert nStatus._newKey() == statusKeys[1]
|
assert nStatus._newKey() == statusKeys[1]
|
||||||
|
|
||||||
# Key collision, should move to key 3
|
# 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 nStatus._newKey() == statusKeys[3]
|
||||||
|
|
||||||
assert nImport._newKey() == importKeys[0]
|
assert nImport._newKey() == importKeys[0]
|
||||||
assert nImport._newKey() == importKeys[1]
|
assert nImport._newKey() == importKeys[1]
|
||||||
|
|
||||||
# Key collision, should move to key 3
|
# 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]
|
assert nImport._newKey() == importKeys[3]
|
||||||
|
|
||||||
# Check Key
|
# Check Key
|
||||||
@@ -90,14 +90,14 @@ def testCoreStatus_Iterator(mockRnd):
|
|||||||
"""Test the iterator functions of the NWStatus class."""
|
"""Test the iterator functions of the NWStatus class."""
|
||||||
nStatus = NWStatus(NWStatus.STATUS)
|
nStatus = NWStatus(NWStatus.STATUS)
|
||||||
|
|
||||||
nStatus.write(None, "New", (100, 100, 100), nwStatusShape.SQUARE)
|
nStatus.add(None, "New", (100, 100, 100), "SQUARE", 0)
|
||||||
nStatus.write(None, "Note", (200, 50, 0), nwStatusShape.SQUARE)
|
nStatus.add(None, "Note", (200, 50, 0), "SQUARE", 0)
|
||||||
nStatus.write(None, "Draft", (200, 150, 0), nwStatusShape.SQUARE)
|
nStatus.add(None, "Draft", (200, 150, 0), "SQUARE", 0)
|
||||||
nStatus.write(None, "Finished", (50, 200, 0), nwStatusShape.SQUARE)
|
nStatus.add(None, "Finished", (50, 200, 0), "SQUARE", 0)
|
||||||
|
|
||||||
# Direct access
|
# Direct access
|
||||||
entry = nStatus[statusKeys[0]]
|
entry = nStatus[statusKeys[0]]
|
||||||
assert entry.colour == QColor(100, 100, 100)
|
assert entry.color == QColor(100, 100, 100)
|
||||||
assert entry.name == "New"
|
assert entry.name == "New"
|
||||||
assert entry.count == 0
|
assert entry.count == 0
|
||||||
assert isinstance(entry.icon, QIcon)
|
assert isinstance(entry.icon, QIcon)
|
||||||
@@ -118,24 +118,24 @@ def testCoreStatus_Entries(mockRnd):
|
|||||||
# =====
|
# =====
|
||||||
|
|
||||||
# Have a key
|
# 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]].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
|
# 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]].name == "Entry 2"
|
||||||
assert nStatus[statusKeys[1]].colour == QColor(210, 110, 60)
|
assert nStatus[statusKeys[1]].color == QColor(210, 110, 60)
|
||||||
|
|
||||||
# Wrong colour spec
|
# 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]].name == "Entry 3"
|
||||||
assert nStatus[statusKeys[2]].colour == QColor(100, 100, 100)
|
assert nStatus[statusKeys[2]].color == QColor(100, 100, 100)
|
||||||
|
|
||||||
# Wrong colour count
|
# 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]].name == "Entry 4"
|
||||||
assert nStatus[statusKeys[3]].colour == QColor(100, 100, 100)
|
assert nStatus[statusKeys[3]].color == QColor(100, 100, 100)
|
||||||
|
|
||||||
# Check
|
# Check
|
||||||
# =====
|
# =====
|
||||||
@@ -150,29 +150,29 @@ def testCoreStatus_Entries(mockRnd):
|
|||||||
# Name Access
|
# Name Access
|
||||||
# ===========
|
# ===========
|
||||||
|
|
||||||
assert nStatus.name(statusKeys[0]) == "Entry 1"
|
assert nStatus[statusKeys[0]].name == "Entry 1"
|
||||||
assert nStatus.name(statusKeys[1]) == "Entry 2"
|
assert nStatus[statusKeys[1]].name == "Entry 2"
|
||||||
assert nStatus.name(statusKeys[2]) == "Entry 3"
|
assert nStatus[statusKeys[2]].name == "Entry 3"
|
||||||
assert nStatus.name(statusKeys[3]) == "Entry 4"
|
assert nStatus[statusKeys[3]].name == "Entry 4"
|
||||||
assert nStatus.name("blablabla") == "Entry 1"
|
assert nStatus["blablabla"].name == "Entry 1"
|
||||||
|
|
||||||
# Colour Access
|
# Colour Access
|
||||||
# =============
|
# =============
|
||||||
|
|
||||||
assert nStatus.cols(statusKeys[0]) == QColor(200, 100, 50)
|
assert nStatus[statusKeys[0]].color == QColor(200, 100, 50)
|
||||||
assert nStatus.cols(statusKeys[1]) == QColor(210, 110, 60)
|
assert nStatus[statusKeys[1]].color == QColor(210, 110, 60)
|
||||||
assert nStatus.cols(statusKeys[2]) == QColor(100, 100, 100)
|
assert nStatus[statusKeys[2]].color == QColor(100, 100, 100)
|
||||||
assert nStatus.cols(statusKeys[3]) == QColor(100, 100, 100)
|
assert nStatus[statusKeys[3]].color == QColor(100, 100, 100)
|
||||||
assert nStatus.cols("blablabla") == QColor(200, 100, 50)
|
assert nStatus["blablabla"].color == QColor(200, 100, 50)
|
||||||
|
|
||||||
# Icon Access
|
# Icon Access
|
||||||
# ===========
|
# ===========
|
||||||
|
|
||||||
assert isinstance(nStatus.icon(statusKeys[0]), QIcon)
|
assert isinstance(nStatus[statusKeys[0]].icon, QIcon)
|
||||||
assert isinstance(nStatus.icon(statusKeys[1]), QIcon)
|
assert isinstance(nStatus[statusKeys[1]].icon, QIcon)
|
||||||
assert isinstance(nStatus.icon(statusKeys[2]), QIcon)
|
assert isinstance(nStatus[statusKeys[2]].icon, QIcon)
|
||||||
assert isinstance(nStatus.icon(statusKeys[3]), QIcon)
|
assert isinstance(nStatus[statusKeys[3]].icon, QIcon)
|
||||||
assert isinstance(nStatus.icon("blablabla"), QIcon)
|
assert isinstance(nStatus["blablabla"].icon, QIcon)
|
||||||
|
|
||||||
# Increment and Count Access
|
# Increment and Count Access
|
||||||
# ==========================
|
# ==========================
|
||||||
@@ -182,50 +182,50 @@ def testCoreStatus_Entries(mockRnd):
|
|||||||
for _ in range(n):
|
for _ in range(n):
|
||||||
nStatus.increment(statusKeys[i])
|
nStatus.increment(statusKeys[i])
|
||||||
|
|
||||||
assert nStatus.count(statusKeys[0]) == countTo[0]
|
assert nStatus[statusKeys[0]].count == countTo[0]
|
||||||
assert nStatus.count(statusKeys[1]) == countTo[1]
|
assert nStatus[statusKeys[1]].count == countTo[1]
|
||||||
assert nStatus.count(statusKeys[2]) == countTo[2]
|
assert nStatus[statusKeys[2]].count == countTo[2]
|
||||||
assert nStatus.count(statusKeys[3]) == countTo[3]
|
assert nStatus[statusKeys[3]].count == countTo[3]
|
||||||
assert nStatus.count("blablabla") == countTo[0]
|
assert nStatus["blablabla"].count == countTo[0]
|
||||||
|
|
||||||
nStatus.resetCounts()
|
nStatus.resetCounts()
|
||||||
|
|
||||||
assert nStatus.count(statusKeys[0]) == 0
|
assert nStatus[statusKeys[0]].count == 0
|
||||||
assert nStatus.count(statusKeys[1]) == 0
|
assert nStatus[statusKeys[1]].count == 0
|
||||||
assert nStatus.count(statusKeys[2]) == 0
|
assert nStatus[statusKeys[2]].count == 0
|
||||||
assert nStatus.count(statusKeys[3]) == 0
|
assert nStatus[statusKeys[3]].count == 0
|
||||||
|
|
||||||
# Reorder
|
# Reorder
|
||||||
# =======
|
# =======
|
||||||
|
|
||||||
cOrder = list(nStatus._store.keys())
|
# cOrder = list(nStatus._store.keys())
|
||||||
assert cOrder == statusKeys
|
# assert cOrder == statusKeys
|
||||||
|
|
||||||
# Wrong length
|
# # Wrong length
|
||||||
assert nStatus.reorder([]) is False
|
# assert nStatus.reorder([]) is False
|
||||||
|
|
||||||
# No change
|
# # No change
|
||||||
assert nStatus.reorder(cOrder) is False
|
# assert nStatus.reorder(cOrder) is False
|
||||||
|
|
||||||
# Actual re-order
|
# # Actual re-order
|
||||||
nOrder = [
|
# nOrder = [
|
||||||
statusKeys[0],
|
# statusKeys[0],
|
||||||
statusKeys[2],
|
# statusKeys[2],
|
||||||
statusKeys[1],
|
# statusKeys[1],
|
||||||
statusKeys[3],
|
# statusKeys[3],
|
||||||
]
|
# ]
|
||||||
assert nStatus.reorder(nOrder) is True
|
# assert nStatus.reorder(nOrder) is True
|
||||||
assert list(nStatus._store.keys()) == nOrder
|
# assert list(nStatus._store.keys()) == nOrder
|
||||||
|
|
||||||
# Add an unknown key
|
# # Add an unknown key
|
||||||
wOrder = nOrder.copy()
|
# wOrder = nOrder.copy()
|
||||||
wOrder[3] = nStatus._newKey()
|
# wOrder[3] = nStatus._newKey()
|
||||||
assert nStatus.reorder(wOrder) is False
|
# assert nStatus.reorder(wOrder) is False
|
||||||
assert list(nStatus._store.keys()) == nOrder
|
# assert list(nStatus._store.keys()) == nOrder
|
||||||
|
|
||||||
# Put it back
|
# # Put it back
|
||||||
assert nStatus.reorder(cOrder) is True
|
# assert nStatus.reorder(cOrder) is True
|
||||||
assert list(nStatus._store.keys()) == cOrder
|
# assert list(nStatus._store.keys()) == cOrder
|
||||||
|
|
||||||
# Default
|
# Default
|
||||||
# =======
|
# =======
|
||||||
@@ -234,43 +234,44 @@ def testCoreStatus_Entries(mockRnd):
|
|||||||
nStatus._default = None
|
nStatus._default = None
|
||||||
|
|
||||||
assert nStatus.check("Entry 5") == ""
|
assert nStatus.check("Entry 5") == ""
|
||||||
assert nStatus.name("blablabla") == ""
|
assert nStatus["blablabla"].name == ""
|
||||||
assert nStatus.cols("blablabla") == QColor(100, 100, 100)
|
assert nStatus["blablabla"].color == QColor(0, 0, 0)
|
||||||
assert nStatus.count("blablabla") == 0
|
assert nStatus["blablabla"].shape == nwStatusShape.SQUARE
|
||||||
assert isinstance(nStatus.icon("blablabla"), QIcon)
|
assert nStatus["blablabla"].icon.isNull()
|
||||||
|
assert nStatus["blablabla"].count == 0
|
||||||
|
|
||||||
nStatus._default = default
|
nStatus._default = default
|
||||||
|
|
||||||
# Remove
|
# # Remove
|
||||||
# ======
|
# # ======
|
||||||
|
|
||||||
# Non-existing entry
|
# # Non-existing entry
|
||||||
assert nStatus.remove("blablabla") is False
|
# assert nStatus.remove("blablabla") is False
|
||||||
|
|
||||||
# Non-zero entry
|
# # Non-zero entry
|
||||||
nStatus.increment(statusKeys[3])
|
# nStatus.increment(statusKeys[3])
|
||||||
assert nStatus.remove(statusKeys[3]) is False
|
# assert nStatus.remove(statusKeys[3]) is False
|
||||||
|
|
||||||
# Delete last entry
|
# # Delete last entry
|
||||||
nStatus.resetCounts()
|
# nStatus.resetCounts()
|
||||||
lastName = nStatus.name(statusKeys[3])
|
# lastName = nStatus[statusKeys[3]].name
|
||||||
assert lastName == "Entry 4"
|
# assert lastName == "Entry 4"
|
||||||
assert nStatus.remove(statusKeys[3]) is True
|
# assert nStatus.remove(statusKeys[3]) is True
|
||||||
assert nStatus.check(statusKeys[3]) == nStatus._default
|
# assert nStatus.check(statusKeys[3]) == nStatus._default
|
||||||
assert nStatus.check(lastName) == nStatus._default
|
# assert nStatus.check(lastName) == nStatus._default
|
||||||
|
|
||||||
# Delete default entry, Entry 2 is new default
|
# # Delete default entry, Entry 2 is new default
|
||||||
firstName = nStatus.name(nStatus._default)
|
# firstName = nStatus[nStatus._default].name
|
||||||
assert firstName == "Entry 1"
|
# assert firstName == "Entry 1"
|
||||||
assert nStatus.remove(nStatus._default) is True # type: ignore
|
# assert nStatus.remove(nStatus._default) is True # type: ignore
|
||||||
assert nStatus.name(firstName) == "Entry 2"
|
# assert nStatus[firstName].name == "Entry 2"
|
||||||
|
|
||||||
# Remove remaining entries
|
# # Remove remaining entries
|
||||||
assert nStatus.remove(statusKeys[1]) is True
|
# assert nStatus.remove(statusKeys[1]) is True
|
||||||
assert nStatus.remove(statusKeys[2]) is True
|
# assert nStatus.remove(statusKeys[2]) is True
|
||||||
|
|
||||||
assert len(nStatus) == 0
|
# assert len(nStatus) == 0
|
||||||
assert nStatus._default is None
|
# assert nStatus._default is None
|
||||||
|
|
||||||
# END Test testCoreStatus_Entries
|
# END Test testCoreStatus_Entries
|
||||||
|
|
||||||
@@ -279,10 +280,10 @@ def testCoreStatus_Entries(mockRnd):
|
|||||||
def testCoreStatus_PackUnpack(mockRnd):
|
def testCoreStatus_PackUnpack(mockRnd):
|
||||||
"""Test all the pack/unpack of the NWStatus class."""
|
"""Test all the pack/unpack of the NWStatus class."""
|
||||||
nStatus = NWStatus(NWStatus.STATUS)
|
nStatus = NWStatus(NWStatus.STATUS)
|
||||||
nStatus.write(None, "New", (100, 100, 100), nwStatusShape.SQUARE)
|
nStatus.add(None, "New", (100, 100, 100), "SQUARE", 0)
|
||||||
nStatus.write(None, "Note", (200, 50, 0), nwStatusShape.SQUARE)
|
nStatus.add(None, "Note", (200, 50, 0), "SQUARE", 0)
|
||||||
nStatus.write(None, "Draft", (200, 150, 0), nwStatusShape.SQUARE)
|
nStatus.add(None, "Draft", (200, 150, 0), "SQUARE", 0)
|
||||||
nStatus.write(None, "Finished", (50, 200, 0), nwStatusShape.SQUARE)
|
nStatus.add(None, "Finished", (50, 200, 0), "SQUARE", 0)
|
||||||
|
|
||||||
countTo = [3, 5, 7, 9]
|
countTo = [3, 5, 7, 9]
|
||||||
for i, n in enumerate(countTo):
|
for i, n in enumerate(countTo):
|
||||||
|
|||||||
Reference in New Issue
Block a user