code: def test_smoke(self, device, dtype, B, D):
      N: int = 10  # num points
      points = torch.ones(B, N, D, device=device, dtype=dtype)
      line = fit_line(points)
      assert isinstance(line, ParametrizedLine)
      assert line.origin.shape == (B, D)
      assert line.direction.shape == (B, D)
  
      assert_close(line.origin, line[0])
      assert_close(line.direction, line[1])
  
      origin, direction = fit_line(points)
      assert_close(line.origin, origin)
      assert_close(line.direction, direction)
  
imports: import pytest
  import torch
  from torch.autograd import gradcheck
  from kornia.geometry.line import ParametrizedLine, fit_line
  from kornia.geometry.plane import Hyperplane
  from kornia.testing import BaseTester, assert_close
label_desc: Use image node_id 1 for calling the TestFitLine obj's underlying member method code with example usage: obj.test_smoke(device, dtype, B, D) without return types