code: def test_linked_list(self):
      ll = LinkedList(int)
      self.assertEqual(list(ll), [])
      if ll:
          self.fail(
              "empty linked list had an implicit boolean value of True"
          )
  
      ll2 = ll.push(5).push(2)
  
      self.assertEqual(list(ll2), [2, 5])
  
      if not ll2:
          self.fail(
              "populated linked list had an implicit boolean value of False"
          )
  
      ll3 = ll.push(5, 2)
      self.assertEqual(list(ll2), list(ll3))
      self.assertEqual(ll2, ll3)
  
      ll4 = ll.push(1)
      ll5 = ll4.push(2, 3)
      ll6 = ll4.push(4, 5)
  
      self.assertEqual(list(ll5), [3, 2, 1])
      self.assertEqual(list(ll6), [5, 4, 1])
  
imports: import json
  import unittest
  import hail
  from hail.utils import *
  from hail.utils.misc import escape_str, escape_id
  from hail.utils.java import FatalError
  from hail.utils.linkedlist import LinkedList
  from ..helpers import *
label_desc: Use image node_id 17 for calling the Tests obj's underlying member method code with example usage: obj.test_linked_list() without return types