code: def test_hinnodemapper_constructor():
      feature_sizes = {"A": 10, "B": 10}
      G = example_hin_1(feature_sizes=feature_sizes)
  
      # Should fail when head nodes are of different type
      with pytest.raises(ValueError):
          HinSAGENodeGenerator(
              G, batch_size=2, num_samples=[2, 2], head_node_type="A"
          ).flow(G.nodes())
  
      gen = HinSAGENodeGenerator(
          G, batch_size=2, num_samples=[2, 2], head_node_type="A"
      )
      mapper = gen.flow([0, 1, 2, 3])
      assert gen.batch_size == 2
      assert mapper.data_size == 4
      assert len(mapper.ids) == 4
  
imports: from stellargraph.core.graph import *
  from stellargraph.mapper import *
  import networkx
  import numpy
  import random
  import pytest
  import pandas
  import scipy.sparse
  from ..test_utils.graphs import example_graph, example_graph_random, example_hin_1, create_graph_features, repeated_features, weighted_tree
  from ..None import test_utils
label_desc: Use image node_id 14 for calling a global function with example usage: test_hinnodemapper_constructor() without return types