code: def test_astype_object_to_dt64_non_nano(self, tz):
      # GH#55756, GH#54620
      ts = Timestamp("2999-01-01")
      dtype = "M8[us]"
      if tz is not None:
          dtype = f"M8[us, {tz}]"
      vals = [ts, "2999-01-02 03:04:05.678910", 2500]
      ser = Series(vals, dtype=object)
      result = ser.astype(dtype)
  
      # The 2500 is interpreted as microseconds, consistent with what
      #  we would get if we created DatetimeIndexes from vals[:2] and vals[2:]
      #  and concated the results.
      pointwise = [
          vals[0].tz_localize(tz),
          Timestamp(vals[1], tz=tz),
          to_datetime(vals[2], unit="us", utc=True).tz_convert(tz),
      ]
      exp_vals = [x.as_unit("us").asm8 for x in pointwise]
      exp_arr = np.array(exp_vals, dtype="M8[us]")
      expected = Series(exp_arr, dtype="M8[us]")
      if tz is not None:
          expected = expected.dt.tz_localize("UTC").dt.tz_convert(tz)
      tm.assert_series_equal(result, expected)
  
imports: from datetime import datetime, timedelta
  from importlib import reload
  import string
  import sys
  import numpy
  import pytest
  from pandas._libs.tslibs import iNaT
  import pandas.util._test_decorators
  from pandas import NA, Categorical, CategoricalDtype, DatetimeTZDtype, Index, Interval, NaT, Series, Timedelta, Timestamp, cut, date_range, to_datetime
  import pandas._testing
label_desc: Use image node_id 1 for calling the TestAstype obj's underlying member method code with example usage: obj.test_astype_object_to_dt64_non_nano(tz) without return types