code: def test_concat_flattens_same_dataset(self):
      D = AvalancheDataset(
          [[1, 2, 3]],
      )
      B = concat_datasets([])
      B = B.concat(D)
      print(
          f"DATA depth={_flatdata_depth(B)}, dsets={len(B._datasets)}"
      )
  
      for _ in range(10):
          B = D.concat(B)
          print(
              f"DATA depth={_flatdata_depth(B)}, dsets={len(B._datasets)}"
          )
  
imports: import sys
  import unittest
  import random
  import torch
  from avalanche.benchmarks import FixedSizeExperienceSplitter
  from avalanche.benchmarks.utils import AvalancheDataset, concat_datasets
  from avalanche.benchmarks.utils.classification_dataset import TaskAwareClassificationDataset
  from avalanche.benchmarks.utils.flat_data import FlatData, _flatten_datasets_and_reindex, LazyIndices
  from avalanche.benchmarks.utils.flat_data import _flatdata_depth, _flatdata_print
  from avalanche.training import ReservoirSamplingBuffer
  from tests.unit_tests_utils import get_fast_benchmark
label_desc: Use image node_id 2 for calling the FlatteningTests obj's underlying member method code with example usage: obj.test_concat_flattens_same_dataset() without return types