code: def test_project(self, device, dtype):
      projection = Z1Projection()
      points = torch.tensor(
          [
              [0.0, 0.0, 1.0],
              [1.0, 1.0, 1.0],
              [6.0, 6.0, 2.0],
              [9.0, 9.0, 3.0],
          ],
          device=device,
          dtype=dtype,
      )
      expected = torch.tensor(
          [[0.0, 0.0], [1.0, 1.0], [3.0, 3.0], [3.0, 3.0]],
          device=device,
          dtype=dtype,
      )
      self.assert_close(
          projection.project(Vector3(points)).data, expected
      )
  
file_path: kornia/test/sensors/camera/test_projection_model.py
imports: import pytest
  import torch
  from kornia.geometry.vector import Vector2, Vector3
  from kornia.sensors.camera.projection_model import Z1Projection
  from kornia.testing import BaseTester
label_desc: Use image node_id 7 for calling the TestZ1Projection obj's underlying member method code with example usage: obj.test_project(device, dtype) without return types