code: def test_dynamic_shapes_explicit(self):
      options = ResolvedExportOptions(
          ExportOptions(dynamic_shapes=None)
      )
      self.assertFalse(options.dynamic_shapes)
      options = ResolvedExportOptions(
          ExportOptions(dynamic_shapes=True)
      )
      self.assertTrue(options.dynamic_shapes)
      options = ResolvedExportOptions(
          ExportOptions(dynamic_shapes=False)
      )
      self.assertFalse(options.dynamic_shapes)
  
imports: import io
  import os
  import onnx
  import torch
  from beartype import roar
  from torch.onnx import dynamo_export, ExportOptions, ONNXProgram
  from torch.onnx._internal import exporter, io_adapter
  from torch.onnx._internal.exporter import LargeProtobufONNXProgramSerializer, ONNXProgramSerializer, ProtobufONNXProgramSerializer, ResolvedExportOptions
  from torch.onnx._internal.fx import diagnostics
  from torch.testing._internal import common_utils
label_desc: Use image node_id 3 for calling the TestExportOptionsAPI obj's underlying member method code with example usage: obj.test_dynamic_shapes_explicit() without return types