input: Write a function to implement a linked list in Python using classes. The Node class should initialize a node with data, and the LinkedList class should initialize the head of the list. Include a method to print the linked list. Additionally, provide test cases to demonstrate how the linked list is created and printed.
  
  class Node:
      """Node class to represent the node in a linked list"""
      def __init__(self, data):
          self.data = data
          self.next = None
  
  class LinkedList:
      """LinkedList class to represent the entire linked list"""
      def __init__(self):
          self.head = None
      
      def print_list(self):
          node = self.head
          while(node):
              print(node.data)
              node = node.next
  
  # Test cases
  assert LinkedList().print_list() is None
  
  linked_list = LinkedList()
  node1 = Node(1)
  linked_list.head = node1
  assert linked_list.print_list() == None
  
  linked_list = LinkedList()
  node1 = Node(1)
  node2 = Node(2)
  node3 = Node(3)
  linked_list.head = node1
  node1.next = node2
  node2.next = node3
  linked_list.print_list()
output: def print_list(self):
      node = self.head
      while node:
          print(node.data)
          node = node.next