pynetdicom icon indicating copy to clipboard operation
pynetdicom copied to clipboard

TestPrimitive_N_GET::test_assignment failed

Open alcir opened this issue 2 years ago • 4 comments

Fedora 36 Python 3.10.4

All test passed, but not this one.

======================================================================== FAILURES ========================================================================
__________________________________________________________ TestPrimitive_N_GET.test_assignment ___________________________________________________________

self = <pynetdicom.tests.test_dimse_n.TestPrimitive_N_GET object at 0x7f81310fb5b0>

    def test_assignment(self):
        """Check assignment works correctly"""
        primitive = N_GET()
    
        # AffectedSOPClassUID
        primitive.AffectedSOPClassUID = "1.1.1"
        assert primitive.AffectedSOPClassUID == UID("1.1.1")
        assert isinstance(primitive.AffectedSOPClassUID, UID)
        primitive.AffectedSOPClassUID = UID("1.1.2")
        assert primitive.AffectedSOPClassUID == UID("1.1.2")
        assert isinstance(primitive.AffectedSOPClassUID, UID)
        primitive.AffectedSOPClassUID = b"1.1.3"
        assert primitive.AffectedSOPClassUID == UID("1.1.3")
        assert isinstance(primitive.AffectedSOPClassUID, UID)
    
        # AffectedSOPInstanceUID
        primitive.AffectedSOPInstanceUID = b"1.2.1"
        assert primitive.AffectedSOPInstanceUID == UID("1.2.1")
        assert isinstance(primitive.AffectedSOPClassUID, UID)
        primitive.AffectedSOPInstanceUID = UID("1.2.2")
        assert primitive.AffectedSOPInstanceUID == UID("1.2.2")
        assert isinstance(primitive.AffectedSOPClassUID, UID)
        primitive.AffectedSOPInstanceUID = "1.2.3"
        assert primitive.AffectedSOPInstanceUID == UID("1.2.3")
        assert isinstance(primitive.AffectedSOPClassUID, UID)
    
        # AttributeList
        ref_ds = Dataset()
        ref_ds.PatientID = "1234567"
        primitive.AttributeList = BytesIO(encode(ref_ds, True, True))
        ds = decode(primitive.AttributeList, True, True)
        assert ds.PatientID == "1234567"
    
        # AttributeIdentifierList
        primitive.AttributeIdentifierList = [
            0x00001000,
            (0x0000, 0x1000),
            Tag(0x7FE0, 0x0010),
        ]
        assert [
            Tag(0x0000, 0x1000),
            Tag(0x0000, 0x1000),
            Tag(0x7FE0, 0x0010),
        ] == primitive.AttributeIdentifierList
        primitive.AttributeIdentifierList = [(0x7FE0, 0x0010)]
        assert Tag(0x7FE0, 0x0010) == primitive.AttributeIdentifierList
        primitive.AttributeIdentifierList = (0x7FE0, 0x0010)
        assert Tag(0x7FE0, 0x0010) == primitive.AttributeIdentifierList
    
        elem = DataElement((0x0000, 0x0005), "AT", [Tag(0x0000, 0x1000)])
>       assert isinstance(elem.value, BaseTag)
E       assert False
E        +  where False = isinstance([(0000, 1000)], BaseTag)
E        +    where [(0000, 1000)] = (0000, 0005)                                     AT: [(0000, 1000)].value

pynetdicom/tests/test_dimse_n.py:389: AssertionError
================================================================ short test summary info =================================================================
FAILED pynetdicom/tests/test_dimse_n.py::TestPrimitive_N_GET::test_assignment - assert False

alcir avatar May 22 '22 06:05 alcir

Thanks, which version of pydicom and pynetdicom this is for?

scaramallion avatar May 24 '22 03:05 scaramallion

Sorry for the late reply. pynetdicom-2.0.2 pydicom-2.2.2

alcir avatar May 25 '22 13:05 alcir

I can't reproduce this with the same versions (Python 3.10.4, pynetdicom 2.0.2 and pydicom 2.2.2) on Ubuntu 20.04 and installing using pip. Do you mind double checking in a fresh virtual environment?

Was the release from pip or github?

scaramallion avatar May 30 '22 00:05 scaramallion

Hmm, looking at the branch for 2.0.X that test is different to master, which it shouldn't be...

Maybe I messed up the pip release by using master accidentally?

scaramallion avatar May 30 '22 00:05 scaramallion