code: def test_multiple_observations():
      name = "FloatParsing<DoubleType>"
      google_results = [
          {
              "cpu_time": 10627.38199641615,
              "family_index": 0,
              "items_per_second": 94096551.75067839,
              "iterations": 9487,
              "name": "FloatParsing<DoubleType>",
              "per_family_instance_index": 0,
              "real_time": 10628.84905663701,
              "repetition_index": 0,
              "repetitions": 3,
              "run_name": "FloatParsing<DoubleType>",
              "run_type": "iteration",
              "threads": 1,
              "time_unit": "ns",
          },
          {
              "cpu_time": 10633.318014124594,
              "family_index": 0,
              "items_per_second": 94044022.63448404,
              "iterations": 9487,
              "name": "FloatParsing<DoubleType>",
              "per_family_instance_index": 0,
              "real_time": 10634.858754122948,
              "repetition_index": 1,
              "repetitions": 3,
              "run_name": "FloatParsing<DoubleType>",
              "run_type": "iteration",
              "threads": 1,
              "time_unit": "ns",
          },
          {
              "cpu_time": 10664.315484347,
              "family_index": 0,
              "items_per_second": 93770669.24434038,
              "iterations": 9487,
              "name": "FloatParsing<DoubleType>",
              "per_family_instance_index": 0,
              "real_time": 10665.584589337563,
              "repetition_index": 2,
              "repetitions": 3,
              "run_name": "FloatParsing<DoubleType>",
              "run_type": "iteration",
              "threads": 1,
              "time_unit": "ns",
          },
      ]
  
      archery_result = {
          "counters": {
              "family_index": 0,
              "iterations": 9487,
              "per_family_instance_index": 0,
              "repetition_index": 2,
              "repetitions": 3,
              "run_name": "FloatParsing<DoubleType>",
              "threads": 1,
          },
          "less_is_better": False,
          "name": "FloatParsing<DoubleType>",
          "time_unit": "ns",
          "times": [
              10628.84905663701,
              10634.858754122948,
              10665.584589337563,
          ],
          "unit": "items_per_second",
          "values": [
              93770669.24434038,
              94044022.63448404,
              94096551.75067839,
          ],
      }
  
      observations = [
          GoogleBenchmarkObservation(**g) for g in google_results
      ]
      benchmark = GoogleBenchmark(name, observations)
      result = json.dumps(benchmark, cls=JsonEncoder)
      assert json.loads(result) == archery_result
  
imports: import json
  from archery.benchmark.codec import JsonEncoder
  from archery.benchmark.core import Benchmark, median
  from archery.benchmark.compare import BenchmarkComparator, RunnerComparator
  from archery.benchmark.google import GoogleBenchmark, GoogleBenchmarkObservation
  from archery.benchmark.runner import StaticBenchmarkRunner
label_desc: Use image node_id 15 for calling a global function with example usage: test_multiple_observations() without return types