input: Write a function to create a linked list using classes in Python. Implement the Node class to represent individual nodes, and the LinkedList class to represent the entire list. The function should return the linked list object after linking the nodes together. Provide assert test cases to validate the implementation.
  
  def create_linked_list():
      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
  
      linked_list = LinkedList()
      node1 = Node(1)
      node2 = Node(2)
      node3 = Node(3)
      linked_list.head = node1
      node1.next = node2
      node2.next = node3
      return linked_list
  
  assert create_linked_list().head.data == 1
  assert create_linked_list().head.next.data == 2
  assert create_linked_list().head.next.next.data == 3
  assert create_linked_list().head.next.next.next == None
output: def create_linked_list():
      class Node:
          def __init__(self, data):
              self.data = data
              self.next = None
  
      class LinkedList:
          def __init__(self):
              self.head = None
  
      linked_list = LinkedList()
      node1 = Node(1)
      node2 = Node(2)
      node3 = Node(3)
      linked_list.head = node1
      node1.next = node2
      node2.next = node3
      return linked_list