code: def test_lazyop_str(self):
      t = Tensor.rand(10) + Tensor.rand(10)
      s = t.lazydata.schedule()
      ast = s[-1].ast
      ast_remade = eval(str(ast))
      self.assertEqual(ast, ast_remade)
  
file_path: tinygrad/test/test_lazyop.py
imports: import unittest
  from tinygrad.tensor import Tensor
  from tinygrad.ops import LazyOp, TernaryOps, BinaryOps, UnaryOps, ReduceOps, BufferOps, MemBuffer, ConstBuffer
  from tinygrad.lazy import LazyBuffer
  from tinygrad import dtypes
  from tinygrad.shape.shapetracker import ShapeTracker
  from tinygrad.shape.view import View
  from tinygrad.shape.symbolic import Variable
  import numpy
  import time
label_desc: Use image node_id 1 for calling the TestLazyOp obj's underlying member method code with example usage: obj.test_lazyop_str() without return types