code: def test_task_templates(
      dataset: FeedbackDataset,
      guidelines_start: str,
      use_markdown: bool,
      number_of_fields: int,
      question_types: Callable,
  ):
      assert len(dataset) == 0
      assert len(dataset.fields) == number_of_fields
      assert len(dataset.questions) == len(question_types)
      assert dataset.guidelines.startswith(guidelines_start)
      for field in dataset.fields:
          assert field.use_markdown is use_markdown
      for question, question_type in zip(
          dataset.questions, question_types
      ):
          assert isinstance(question, question_type)
      for metadata in dataset.metadata_properties:
          assert metadata == TermsMetadataProperty(name="test")
      for vector in dataset.vectors_settings:
          assert vector == VectorSettings(name="vector", dimensions=768)
  
imports: from typing import Callable
  import pytest
  from argilla.client.feedback.dataset import FeedbackDataset
  from argilla.client.feedback.schemas import LabelQuestion, MultiLabelQuestion, RankingQuestion, RatingQuestion, TextQuestion
  from argilla.client.feedback.schemas.metadata import TermsMetadataProperty
  from argilla.client.feedback.schemas.vector_settings import VectorSettings
label_desc: Use image node_id 1 for calling a global function with example usage: test_task_templates(dataset, guidelines_start, use_markdown, number_of_fields, question_types) without return types