docstr: Ply file with a strange property order
docstr_tok: ["Ply","file","with","a","strange","property","order"]
code: def test_load_pointcloud_bad_order(self):
      """
      Ply file with a strange property order
      """
      file = "\n".join(
          [
              "ply",
              "format ascii 1.0",
              "element vertex 1",
              "property uchar green",
              "property float x",
              "property float z",
              "property uchar red",
              "property float y",
              "property uchar blue",
              "end_header",
              "1 2 3 4 5 6",
          ]
      )
  
      io = IO()
      pointcloud_gpu = io.load_pointcloud(
          StringIO(file), device="cuda:0"
      )
      self.assertEqual(pointcloud_gpu.device, torch.device("cuda:0"))
      pointcloud = pointcloud_gpu.to(torch.device("cpu"))
      expected_points = torch.tensor([[[2, 5, 3]]], dtype=torch.float32)
      expected_features = (
          torch.tensor([[[4, 1, 6]]], dtype=torch.float32) / 255.0
      )
      self.assertClose(pointcloud.points_padded(), expected_points)
      self.assertClose(pointcloud.features_padded(), expected_features)
  
imports: import itertools
  import struct
  import unittest
  from io import BytesIO, StringIO
  from tempfile import NamedTemporaryFile, TemporaryFile
  import numpy
  import pytorch3d.io.ply_io
  import torch
  from iopath.common.file_io import PathManager
  from pytorch3d.io import IO
  from pytorch3d.io.ply_io import load_ply, save_ply
  from pytorch3d.renderer.mesh import TexturesVertex
  from pytorch3d.structures import Meshes, Pointclouds
  from pytorch3d.utils import torus
  from .common_testing import get_tests_dir, TestCaseMixin
label_desc: Use image node_id 19 for calling the TestMeshPlyIO obj's underlying member method code with example usage: obj.test_load_pointcloud_bad_order() without return types