code: def test_expr_idxs(self):
      x = Variable("x", 1, 100)
      st = ShapeTracker.from_shape((x, 3))
      idxs = [Variable("x", 0, 100), Variable("y", 0, 100)]
      e1, e2 = st.expr_idxs(idxs)
      assert e1.render() == "((x*3)+y)"
      assert e2.render() == "1"
      st = st.permute((1, 0))
      e1, e2 = st.expr_idxs(idxs)
      assert e1.render() == "((y*3)+x)"
      assert e2.render() == "1"
  
imports: import unittest
  from tinygrad.shape.shapetracker import ShapeTracker, View
  from tinygrad.shape.symbolic import Variable, NumNode
  from tinygrad.tensor import Tensor
label_desc: Use image node_id 2 for calling the TestSymbolic obj's underlying member method code with example usage: obj.test_expr_idxs() without return types