input: Write a function to simulate a rock-paper-scissors game given the choices of two players. The function should determine and return the result based on predefined rules. If the choices of both players are the same, the result should be 'It is a draw!'. If player1's choice beats player2's choice, the result should be 'Player 1 wins!'. If player2's choice beats player1's choice, the result should be 'Player 2 wins!'.
  
  def play_game(player1, player2):
      rules = {'rock': 'scissors', 'scissors': 'paper', 'paper': 'rock'}
      if player1 == player2:
          return 'It is a draw!'
      elif rules[player1] == player2:
          return 'Player 1 wins!'
      elif rules[player2] == player1:
          return 'Player 2 wins!'
  
  assert play_game('rock', 'scissors') == 'Player 1 wins!'
  assert play_game('scissors', 'rock') == 'Player 2 wins!'
  assert play_game('rock', 'rock') == 'It is a draw!'
  assert play_game('paper', 'scissors') == 'Player 2 wins!'
  assert play_game('scissors', 'paper') == 'Player 1 wins!'
output: def play_game(player1, player2):
      rules = {'rock': 'scissors', 'scissors': 'paper', 'paper': 'rock'}
      if player1 == player2:
          return 'It is a draw!'
      elif rules[player1] == player2:
          return 'Player 1 wins!'
      elif rules[player2] == player1:
          return 'Player 2 wins!'