- name: cast things to other things
  set_fact:
      int_to_str: "'{{ i_two }}'"
      int_to_str2: "{{ i_two | string }}"
      str_to_int: "{{ s_two|int }}"
      dict_to_str: "'{{ dict_one }}'"
      list_to_str: "'{{ list_one }}'"
      int_to_bool: "{{ i_one|bool }}"
      str_true_to_bool: "{{ s_true|bool }}"
      str_false_to_bool: "{{ s_false|bool }}"
      list_to_json_str: "{{ list_one | to_json }}"
      list_to_yaml_str: "{{ list_one | to_yaml }}"

- assert:
    that:
        - 'int_to_str == "2"'
        - 'int_to_str|type_debug in ["str", "unicode"]'
        - 'int_to_str2 == "2"'
        - 'int_to_str2|type_debug in ["NativeJinjaText"]'
        - 'str_to_int == 2'
        - 'str_to_int|type_debug == "int"'
        - 'dict_to_str|type_debug in ["str", "unicode"]'
        - 'list_to_str|type_debug in ["str", "unicode"]'
        - 'int_to_bool is sameas true'
        - 'int_to_bool|type_debug == "bool"'
        - 'str_true_to_bool is sameas true'
        - 'str_true_to_bool|type_debug == "bool"'
        - 'str_false_to_bool is sameas false'
        - 'str_false_to_bool|type_debug == "bool"'
        - 'list_to_json_str|type_debug in ["NativeJinjaText"]'
        - 'list_to_yaml_str|type_debug in ["NativeJinjaText"]'
