input: from typing import List
  
  def test_blockchain(chain: List[Block]) -> bool:
      """ Check if the given blockchain is valid by verifying the previous_hash values
      of every block against the hash of the preceding block.
      >>> block1 = Block(0, '2022-01-01 01:00:00', 'Genesis Block', None)
      >>> block2 = Block(1, '2022-01-01 02:00:00', 'Transaction Data', block1.hash)
      >>> blockchain = Blockchain()
      >>> blockchain.chain = [block1, block2]
      >>> test_blockchain(blockchain.chain)
      True
      >>> block3 = Block(2, '2022-01-01 03:00:00', 'Invalid Block', 'incorrect_hash')
      >>> block3.hash = sha256(f'{block3.index}{block3.timestamp}{block3.data}{block3.previous_hash}')
      >>> blockchain.chain.append(block3)
      >>> test_blockchain(blockchain.chain)
      False
      """
      for i in range(1, len(chain)):
          if chain[i].previous_hash != chain[i - 1].hash:
              return False
      return True
output:     for i in range(1, len(chain)):
          if chain[i].previous_hash != chain[i - 1].hash:
              return False
      return True