code: def test_can_detect_dtypes_from_avro_logical_type(
      logical_type,
      primitive_type,
      expected_dtype,
      namespace,
      nullable,
      prepend_null,
  ):
      avro_type = [
          {"logicalType": logical_type, "type": primitive_type}
      ]
      if nullable:
          if prepend_null:
              avro_type.insert(0, "null")
          else:
              avro_type.append("null")
  
      schema = fastavro.parse_schema(
          {
              "type": "record",
              "name": "test",
              "namespace": namespace,
              "fields": [{"name": "prop", "type": avro_type}],
          }
      )
  
      actual = cudf_from_avro_util(schema, [])
  
      expected = cudf.DataFrame(
          {"prop": cudf.Series(None, None, expected_dtype)}
      )
  
      assert_eq(expected, actual)
  
imports: import datetime
  import io
  import pathlib
  from typing import Optional
  import fastavro
  import numpy
  import pandas
  import pytest
  import cudf
  from cudf.testing._utils import assert_eq
  from cudf.testing.dataset_generator import rand_dataframe
label_desc: Use image node_id 10 for calling a global function with example usage: test_can_detect_dtypes_from_avro_logical_type(logical_type, primitive_type, expected_dtype, namespace, nullable, prepend_null) without return types