text: import shutil
  from pathlib import Path
  
  import flair
  import flair.datasets
  from flair.data import MultiCorpus
  
  
  def test_load_imdb_data(tasks_base_path):
      # get training, test and dev data
      corpus = flair.datasets.ClassificationCorpus(
          tasks_base_path / "imdb", in_memory=True
      )
  
      assert len(corpus.train) == 5
      assert len(corpus.dev) == 5
      assert len(corpus.test) == 5
  
  
  def test_load_imdb_data_streaming(tasks_base_path):
      # get training, test and dev data
      corpus = flair.datasets.ClassificationCorpus(
          tasks_base_path / "imdb", in_memory=False
      )
  
      assert len(corpus.train) == 5
      assert len(corpus.dev) == 5
      assert len(corpus.test) == 5
  
  
  def test_load_imdb_data_max_tokens(tasks_base_path):
      # get training, test and dev data
      corpus = flair.datasets.ClassificationCorpus(
          tasks_base_path / "imdb", in_memory=True, max_tokens_per_doc=3
      )
  
      assert len(corpus.train[0]) <= 3
      assert len(corpus.dev[0]) <= 3
      assert len(corpus.test[0]) <= 3
  
  
  def test_load_imdb_data_streaming_max_tokens(tasks_base_path):
      # get training, test and dev data
      corpus = flair.datasets.ClassificationCorpus(
          tasks_base_path / "imdb", in_memory=False, max_tokens_per_doc=3
      )
  
      assert len(corpus.train[0]) <= 3
      assert len(corpus.dev[0]) <= 3
      assert len(corpus.test[0]) <= 3
  
  
  def test_load_ag_news_data(tasks_base_path):
      # get training, test and dev data
      corpus = flair.datasets.ClassificationCorpus(tasks_base_path / "ag_news")
  
      assert len(corpus.train) == 10
      assert len(corpus.dev) == 10
      assert len(corpus.test) == 10
  
  
  def test_load_sequence_labeling_data(tasks_base_path):
      # get training, test and dev data
      corpus = flair.datasets.ColumnCorpus(
          tasks_base_path / "fashion", column_format={0: "text", 2: "ner"}
      )
  
      assert len(corpus.train) == 6
      assert len(corpus.dev) == 1
      assert len(corpus.test) == 1
  
  
  def test_load_germeval_data(tasks_base_path):
      # get training, test and dev data
      corpus = flair.datasets.GERMEVAL(tasks_base_path)
  
      assert len(corpus.train) == 2
      assert len(corpus.dev) == 1
      assert len(corpus.test) == 1
  
  
  def test_load_ud_english_data(tasks_base_path):
      # get training, test and dev data
      corpus = flair.datasets.UD_ENGLISH(tasks_base_path)
  
      assert len(corpus.train) == 6
      assert len(corpus.test) == 4
      assert len(corpus.dev) == 2
  
  
  def test_load_no_dev_data(tasks_base_path):
      # get training, test and dev data
      corpus = flair.datasets.ColumnCorpus(
          tasks_base_path / "fashion_nodev", column_format={0: "text", 2: "ner"}
      )
  
      assert len(corpus.train) == 5
      assert len(corpus.dev) == 1
      assert len(corpus.test) == 1
  
  
  def test_load_no_dev_data_explicit(tasks_base_path):
      # get training, test and dev data
      corpus = flair.datasets.ColumnCorpus(
          tasks_base_path / "fashion_nodev",
          column_format={0: "text", 2: "ner"},
          train_file="train.tsv",
          test_file="test.tsv",
      )
  
      assert len(corpus.train) == 5
      assert len(corpus.dev) == 1
      assert len(corpus.test) == 1
  
  
  def test_multi_corpus(tasks_base_path):
  
      corpus_1 = flair.datasets.GERMEVAL(tasks_base_path)
  
      corpus_2 = flair.datasets.ColumnCorpus(
          tasks_base_path / "fashion", column_format={0: "text", 2: "ner"}
      )
      # get two corpora as one
      corpus = MultiCorpus([corpus_1, corpus_2])
  
      assert len(corpus.train) == 8
      assert len(corpus.dev) == 2
      assert len(corpus.test) == 2
  
  
  def test_download_load_data(tasks_base_path):
      # get training, test and dev data for full English UD corpus from web
      corpus = flair.datasets.UD_ENGLISH()
  
      assert len(corpus.train) == 12543
      assert len(corpus.dev) == 2002
      assert len(corpus.test) == 2077
  
      # clean up data directory
      shutil.rmtree(Path(flair.cache_root) / "datasets" / "ud_english")
  