code: def test_visnet(kwargs):
      z = torch.randint(1, 10, (20,))
      pos = torch.randn(20, 3)
      batch = torch.zeros(20, dtype=torch.long)
  
      model = ViSNet(**kwargs)
  
      model.reset_parameters()
  
      energy, forces = model(z, pos, batch)
  
      assert energy.size() == (1, 1)
  
      if kwargs["derivative"]:
          assert forces.size() == (20, 3)
      else:
          assert forces is None
  
imports: import pytest
  import torch
  from torch_geometric.nn import ViSNet
  from torch_geometric.testing import withPackage
label_desc: Use image node_id 1 for calling a global function with example usage: test_visnet(kwargs) without return types