code: def test_mlist(self):
      fid = open(self.example_file, "rb")
      hdr = self.header_class.from_fileobj(fid)
      mlist = read_mlist(fid, hdr.endianness)
      fid.seek(0)
      fid.seek(512)
      dat = fid.read(128 * 32)
      dt = np.dtype([("matlist", np.int32)])
      dt = dt.newbyteorder(">")
      mats = np.recarray(shape=(32, 4), dtype=dt, buf=dat)
      fid.close()
      # tests
      assert mats["matlist"][0, 0] + mats["matlist"][0, 3] == 31
      assert get_frame_order(mlist)[0][0] == 0
      assert get_frame_order(mlist)[0][1] == 16842758.0
      # test badly ordered mlist
      badordermlist = np.array(
          [
              [
                  1.68427540e07,
                  3.00000000e00,
                  1.20350000e04,
                  1.00000000e00,
              ],
              [
                  1.68427530e07,
                  1.20360000e04,
                  2.40680000e04,
                  1.00000000e00,
              ],
              [
                  1.68427550e07,
                  2.40690000e04,
                  3.61010000e04,
                  1.00000000e00,
              ],
              [
                  1.68427560e07,
                  3.61020000e04,
                  4.81340000e04,
                  1.00000000e00,
              ],
              [
                  1.68427570e07,
                  4.81350000e04,
                  6.01670000e04,
                  1.00000000e00,
              ],
              [
                  1.68427580e07,
                  6.01680000e04,
                  7.22000000e04,
                  1.00000000e00,
              ],
          ]
      )
      with suppress_warnings():  # STORED order
          assert get_frame_order(badordermlist)[0][0] == 1
  
imports: import os
  import warnings
  from pathlib import Path
  from unittest import TestCase
  import numpy
  import pytest
  from numpy.testing import assert_array_almost_equal, assert_array_equal
  from ..ecat import EcatHeader, EcatImage, EcatSubHeader, get_frame_order, get_series_framenumbers, read_mlist
  from ..openers import Opener
  from ..testing import data_path, suppress_warnings
  from ..tmpdirs import InTemporaryDirectory
  from .None import test_wrapstruct
  from .test_fileslice import slicer_samples
label_desc: Use image node_id 1 for calling the TestEcatMlist obj's underlying member method code with example usage: obj.test_mlist() without return types