code: def test_param_scheduler_asserts():
      t1 = torch.zeros([1], requires_grad=True)
      t2 = torch.zeros([1], requires_grad=True)
      optimizer = torch.optim.SGD(
          [{"params": t1, "lr": 0.1}, {"params": t2, "lr": 0.1}]
      )
  
      lr_scheduler = FakeParamScheduler(optimizer, "lr")
  
      with pytest.raises(
          ValueError,
          match=r"size of value is different than optimizer_param_groups",
      ):
          lr_scheduler(None)
  
      with pytest.raises(
          TypeError,
          match=r"Argument state_dict should be a dictionary, but given",
      ):
          lr_scheduler.load_state_dict(None)
  
      with pytest.raises(
          ValueError,
          match=r"Required state attribute 'event_index' is absent in provided state_dict",
      ):
          lr_scheduler.load_state_dict({})
  
      with pytest.raises(
          TypeError,
          match=r"Argument optimizer should be torch.optim.Optimizer",
      ):
          FakeParamScheduler({}, "lr")
  
imports: from unittest.mock import MagicMock, patch
  import numpy
  import pytest
  import torch
  from torch.optim.lr_scheduler import CosineAnnealingWarmRestarts, ExponentialLR, StepLR
  from ignite.engine import Engine, Events
  from ignite.handlers.param_scheduler import ConcatScheduler, CosineAnnealingScheduler, create_lr_scheduler_with_warmup, LinearCyclicalScheduler, LRScheduler, ParamGroupScheduler, ParamScheduler, PiecewiseLinear, ReduceLROnPlateauScheduler
  from tests.ignite.contrib.handlers import MockFP16DeepSpeedZeroOptimizer
label_desc: Use image node_id 1 for calling a global function with example usage: test_param_scheduler_asserts() without return types