code: def test_summary_from_dict():
      orig = NodeAvailabilitySummary(
          node_availabilities={
              "my-node-a": NodeAvailabilityRecord(
                  node_type="my-node-a",
                  is_available=False,
                  last_checked_timestamp=0,
                  unavailable_node_information=UnavailableNodeInformation(
                      category="DontFeelLikeIt",
                      description="This seems like a lot of work.",
                  ),
              ),
              "my-node-b": NodeAvailabilityRecord(
                  node_type="my-node-b",
                  is_available=True,
                  last_checked_timestamp=1,
                  unavailable_node_information=None,
              ),
          }
      )
  
      to_dict = dataclasses.asdict(orig)
  
      remarshalled = NodeAvailabilitySummary.from_fields(**to_dict)
  
      assert orig == remarshalled
  
file_path: ray/python/ray/tests/test_node_provider_availability_tracker.py
imports: import datetime
  import dataclasses
  import os
  import sys
  import pytest
  from ray.autoscaler.node_launch_exception import NodeLaunchException
  from ray.autoscaler._private.node_provider_availability_tracker import NodeProviderAvailabilityTracker, NodeAvailabilitySummary, NodeAvailabilityRecord, UnavailableNodeInformation
label_desc: Use image node_id 9 for calling a global function with example usage: test_summary_from_dict() without return types