code: def test_dtensor_properties(self):
      device_mesh = DeviceMesh(
          self.device_type, list(range(self.world_size))
      )
      placements = [Shard(0)]
      local_tensor = torch.randn(3, 3)
      sharded_tensor = DTensor.from_local(
          local_tensor, device_mesh, placements
      )
      self.assertEqual(sharded_tensor.device.type, self.device_type)
  
imports: import torch
  import torch.nn.functional
  from numpy.testing import assert_array_equal
  from torch.distributed._functional_collectives import AsyncCollectiveTensor
  from torch.distributed._tensor import DeviceMesh, distribute_tensor, DTensor, init_device_mesh
  from torch.distributed._tensor.placement_types import _Partial, Replicate, Shard
  from torch.distributed.tensor.parallel import ColwiseParallel, parallelize_module, RowwiseParallel
  from torch.testing._internal.common_utils import run_tests
  from torch.testing._internal.distributed._tensor.common_dtensor import DTensorTestBase, with_comms
label_desc: Use image node_id 18 for calling the DTensorTest obj's underlying member method code with example usage: obj.test_dtensor_properties() without return types