docstr: Test PythonSensor op_args are templatized
docstr_tok: ["Test","PythonSensor","op_args","are","templatized"]
code: def test_python_callable_arguments_are_templatized(self):
      """Test PythonSensor op_args are templatized"""
      # Create a named tuple and ensure it is still preserved
      # after the rendering is done
      Named = namedtuple("Named", ["var1", "var2"])
      named_tuple = Named("{{ ds }}", "unchanged")
  
      task = self.render_templates(
          lambda: 0,
          op_args=[
              4,
              date(2019, 1, 1),
              "dag {{dag.dag_id}} ran on {{ds}}.",
              named_tuple,
          ],
      )
      rendered_op_args = task.op_args
      assert len(rendered_op_args) == 4
      assert rendered_op_args[0] == 4
      assert rendered_op_args[1] == date(2019, 1, 1)
      assert (
          rendered_op_args[2]
          == f"dag {self.dag_id} ran on {self.ds_templated}."
      )
      assert rendered_op_args[3] == Named(
          self.ds_templated, "unchanged"
      )
  
file_path: airflow/tests/sensors/test_python.py
imports: from __future__ import annotations
  from collections import namedtuple
  from datetime import date
  import pytest
  from airflow.exceptions import AirflowSensorTimeout
  from airflow.sensors.base import PokeReturnValue
  from airflow.sensors.python import PythonSensor
  from tests.operators.test_python import BasePythonTest
label_desc: Use image node_id 5 for calling the TestPythonSensor obj's underlying member method code with example usage: obj.test_python_callable_arguments_are_templatized() without return types