code: def test_pad_node_additional_attr_mask(mask_pad_value):
      data = fake_data()
      mask = torch.randn(data.num_nodes) > 0
      mask_names = ["train_mask", "test_mask", "val_mask"]
      for mask_name in mask_names:
          setattr(data, mask_name, mask)
      padding_num = 20
  
      max_num_nodes = int(data.num_nodes) + padding_num
      max_num_edges = data.num_edges + padding_num
  
      transform = Pad(
          max_num_nodes,
          max_num_edges,
          node_pad_value=0.1,
          mask_pad_value=mask_pad_value,
      )
      padded = transform(data)
      padded_masks = [
          getattr(padded, mask_name) for mask_name in mask_names
      ]
  
      for padded_mask in padded_masks:
          assert padded_mask.ndim == 1
          assert padded_mask.size()[0] == max_num_nodes
          assert torch.all(padded_mask[-padding_num:] == mask_pad_value)
  
imports: import numbers
  from typing import Dict, Generator, List, Optional, Tuple, Union
  import pytest
  import torch
  from torch_geometric.data import Data, HeteroData
  from torch_geometric.datasets import FakeDataset, FakeHeteroDataset
  from torch_geometric.transforms import Pad
  from torch_geometric.transforms.pad import AttrNamePadding, EdgeTypePadding, NodeTypePadding, Padding, UniformPadding
  from torch_geometric.typing import EdgeType, NodeType
label_desc: Use image node_id 24 for calling a global function with example usage: test_pad_node_additional_attr_mask(mask_pad_value) without return types