def METHOD_NAME(self, s, d1):
    """Check object versioning for Dat"""
    d2 = op2.Dat(s)
    assert d1.dat_version == 0
    assert d2.dat_version == 0
    # Access data property
    d1.data
    assert d1.dat_version == 1
    assert d2.dat_version == 0
    # Access data property
    d2.data[:] += 1
    assert d1.dat_version == 1
    assert d2.dat_version == 1
    # Access zero property
    d1.zero()
    assert d1.dat_version == 2
    assert d2.dat_version == 1
    # Copy d2 into d1
    d2.copy(d1)
    assert d1.dat_version == 3
    assert d2.dat_version == 1
    # Context managers (without changing d1 and d2)
    with d1.vec_wo as _:
        pass
    with d2.vec as _:
        pass
    # Dat version shouldn't change as we are just calling the context manager
    # and not changing the Dat objects.
    assert d1.dat_version == 3
    assert d2.dat_version == 1
    # Context managers (modify d1 and d2)
    with d1.vec_wo as x:
        x += 1
    with d2.vec as x:
        x += 1
    assert d1.dat_version == 4
    assert d2.dat_version == 2