code: def test_fused_aggregation(aggrs):
      aggrs = [aggregation_resolver(aggr) for aggr in aggrs]
  
      x = torch.randn(6, 1)
      y = x.clone()
      index = torch.tensor([0, 0, 1, 1, 1, 3])
  
      x.requires_grad_(True)
      y.requires_grad_(True)
  
      aggr = FusedAggregation(aggrs)
      assert str(aggr) == "FusedAggregation()"
      out = torch.cat(aggr(x, index), dim=-1)
  
      expected = torch.cat([aggr(y, index) for aggr in aggrs], dim=-1)
      assert torch.allclose(out, expected, atol=1e-5)
  
      jit = torch.jit.script(aggr)
      assert torch.allclose(
          torch.cat(jit(x, index), dim=-1), out, atol=1e-5
      )
  
      out.mean().backward()
      assert x.grad is not None
      expected.mean().backward()
      assert y.grad is not None
      assert torch.allclose(x.grad, y.grad, atol=1e-5)
  
imports: import pytest
  import torch
  from torch_geometric.nn.aggr.fused import FusedAggregation
  from torch_geometric.nn.resolver import aggregation_resolver
  from torch_geometric.profile import benchmark
label_desc: Use image node_id 1 for calling a global function with example usage: test_fused_aggregation(aggrs) without return types