code: def test_gdf2_birthday(tmp_path):
      """Test reading raw GDF 2.x files."""
      new_fname = tmp_path / "temp.gdf"
      shutil.copyfile(
          gdf2_path.with_name(gdf2_path.name + ".gdf"), new_fname
      )
      # go back 44.5 years so the subject should show up as 44
      offset_edf = datetime.now(
          tz=timezone.utc
      ) - datetime(  # to their ref
          1, 1, 1, tzinfo=timezone.utc
      )
      offset_44_yr = offset_edf - timedelta(
          days=int(365 * 44.5)
      )  # 44.5 yr ago
      offset_44_yr_days = offset_44_yr.total_seconds() / (
          24 * 60 * 60
      )  # days
      d = (
          int(offset_44_yr_days) + 367
      ) * 2**32  # with their conversion
      with open(new_fname, "r+b") as fid:
          fid.seek(176, 0)
          assert np.fromfile(fid, np.uint64, 1)[0] == 0
          fid.seek(176, 0)
          fid.write(np.array([d], np.uint64).tobytes())
          fid.seek(176, 0)
          assert np.fromfile(fid, np.uint64, 1)[0] == d
      raw = read_raw_gdf(new_fname, eog=None, misc=None, preload=True)
      assert raw._raw_extras[0]["subject_info"]["age"] == 44
      assert raw.info["subject_info"] is not None
  
      birthdate = datetime(1, 1, 1, tzinfo=timezone.utc) + offset_44_yr
      assert raw.info["subject_info"]["birthday"] == (
          birthdate.year,
          birthdate.month,
          birthdate.day,
      )
  
file_path: mne-python/mne/io/edf/tests/test_gdf.py
imports: import shutil
  from datetime import datetime, timedelta, timezone
  import numpy
  import pytest
  import scipy.io
  from numpy.testing import assert_array_almost_equal, assert_array_equal, assert_equal
  from mne import events_from_annotations, find_events, pick_types
  from mne.datasets import testing
  from mne.io import read_raw_gdf
  from mne.io.tests.test_raw import _test_raw_reader
label_desc: Use image node_id 2 for calling a global function with example usage: test_gdf2_birthday(tmp_path) without return types