code: def test_point_net_block():
      perform_pointnet_block_test(
          batch_dim=20,
          num_points=100,
          num_features=3,
          embedding_dim=1024,
          use_batch_norm=False,
          pooling_func_str="max",
          use_feature_transform=True,
          with_masking=False,
          with_output_features=False,
      )
      perform_pointnet_block_test(
          batch_dim=20,
          num_points=100,
          num_features=3,
          embedding_dim=128,
          use_batch_norm=True,
          pooling_func_str="max",
          use_feature_transform=True,
          with_masking=False,
          with_output_features=False,
      )
      perform_pointnet_block_test(
          batch_dim=20,
          num_points=100,
          num_features=3,
          embedding_dim=128,
          use_batch_norm=True,
          pooling_func_str="max",
          use_feature_transform=True,
          with_masking=False,
          with_output_features=True,
      )
  
      perform_pointnet_block_test(
          batch_dim=20,
          num_points=100,
          num_features=3,
          embedding_dim=128,
          use_batch_norm=True,
          pooling_func_str="max",
          use_feature_transform=True,
          with_masking=False,
          with_output_features=False,
      )
      perform_pointnet_block_test(
          batch_dim=20,
          num_points=100,
          num_features=3,
          embedding_dim=128,
          use_batch_norm=False,
          pooling_func_str="max",
          use_feature_transform=False,
          with_masking=False,
          with_output_features=False,
      )
      perform_pointnet_block_test(
          batch_dim=20,
          num_points=100,
          num_features=3,
          embedding_dim=128,
          use_batch_norm=False,
          pooling_func_str="max",
          use_feature_transform=False,
          with_masking=False,
          with_output_features=True,
      )
      with pytest.raises(ValueError):
          perform_pointnet_block_test(
              batch_dim=20,
              num_points=100,
              num_features=3,
              embedding_dim=128,
              use_batch_norm=False,
              pooling_func_str="something",
              use_feature_transform=False,
              with_masking=False,
              with_output_features=True,
          )
  
file_path: maze/maze/test/perception/blocks/test_point_net.py
imports: import pytest
  import torch
  from maze.perception.blocks.feed_forward.point_net import PointNetFeatureTransformNet, PointNetFeatureBlock
  from maze.test.perception.perception_test_utils import build_input_dict, build_multi_input_dict
label_desc: Use image node_id 5 for calling a global function with example usage: test_point_net_block() without return types