Beispiel #1
0
 def test_item_undefined_length(self):
     """Test exception raised if item length undefined."""
     bytestream = (b'\xFE\xFF\x00\xE0'
                   b'\xFF\xFF\xFF\xFF'
                   b'\x00\x00\x00\x01')
     fp = DicomBytesIO(bytestream)
     fp.is_little_endian = True
     with pytest.raises(ValueError):
         get_nr_fragments(fp)
Beispiel #2
0
 def test_not_little_endian(self):
     """Test reading big endian raises exception"""
     bytestream = b'\xFE\xFF\x00\xE0' \
                  b'\x04\x00\x00\x00' \
                  b'\x01\x00\x00\x00'
     fp = DicomBytesIO(bytestream)
     fp.is_little_endian = False
     with pytest.raises(ValueError,
                        match="'fp.is_little_endian' must be True"):
         get_nr_fragments(fp)
Beispiel #3
0
 def test_single_fragment_no_delimiter(self):
     """Test single fragment is returned OK"""
     bytestream = b'\xFE\xFF\x00\xE0' \
                  b'\x04\x00\x00\x00' \
                  b'\x01\x00\x00\x00'
     fp = DicomBytesIO(bytestream)
     fp.is_little_endian = True
     assert 1 == get_nr_fragments(fp)
Beispiel #4
0
 def test_item_bad_tag(self):
     """Test exception raised if item has unexpected tag"""
     bytestream = (b'\xFE\xFF\x00\xE0'
                   b'\x04\x00\x00\x00'
                   b'\x01\x00\x00\x00'
                   b'\x10\x00\x10\x00'
                   b'\x00\x00\x00\x00'
                   b'\xFE\xFF\x00\xE0'
                   b'\x04\x00\x00\x00'
                   b'\x02\x00\x00\x00')
     fp = DicomBytesIO(bytestream)
     fp.is_little_endian = True
     msg = (
         r"Unexpected tag '\(0010, 0010\)' at offset 12 when parsing the "
         r"encapsulated pixel data fragment items.")
     with pytest.raises(ValueError, match=msg):
         get_nr_fragments(fp)
Beispiel #5
0
 def test_multi_fragments_no_delimiter(self):
     """Test multi fragments are returned OK"""
     bytestream = b'\xFE\xFF\x00\xE0' \
                  b'\x04\x00\x00\x00' \
                  b'\x01\x00\x00\x00' \
                  b'\xFE\xFF\x00\xE0' \
                  b'\x06\x00\x00\x00' \
                  b'\x01\x02\x03\x04\x05\x06'
     fp = DicomBytesIO(bytestream)
     fp.is_little_endian = True
     assert 2 == get_nr_fragments(fp)
Beispiel #6
0
 def test_item_sequence_delimiter(self):
     """Test that the fragments are returned if seq delimiter hit."""
     bytestream = (b'\xFE\xFF\x00\xE0'
                   b'\x04\x00\x00\x00'
                   b'\x01\x00\x00\x00'
                   b'\xFE\xFF\xDD\xE0'
                   b'\x00\x00\x00\x00'
                   b'\xFE\xFF\x00\xE0'
                   b'\x04\x00\x00\x00'
                   b'\x02\x00\x00\x00')
     fp = DicomBytesIO(bytestream)
     fp.is_little_endian = True
     assert 1 == get_nr_fragments(fp)