- name: add two ints set_fact: integer_sum: "{{ i_one + i_two }}" - assert: that: - 'integer_sum == 3' - 'integer_sum|type_debug == "int"' - name: add casted string and int set_fact: integer_sum2: "{{ s_one|int + i_two }}" - assert: that: - 'integer_sum2 == 3' - 'integer_sum2|type_debug == "int"' - name: concatenate int and string set_fact: string_sum: "'{{ [i_one, s_two]|join('') }}'" - assert: that: - string_sum == "'12'" - 'string_sum|type_debug in ["str", "unicode"]' - name: add two lists set_fact: list_sum: "{{ list_one + list_two }}" - assert: that: - 'list_sum == ["one", "two", "three", "four"]' - 'list_sum|type_debug == "list"' - name: add two lists, multi expression set_fact: list_sum_multi: "{{ list_one }} + {{ list_two }}" - assert: that: - 'list_sum_multi|type_debug in ["str", "unicode"]' - name: add two dicts set_fact: dict_sum: "{{ dict_one + dict_two }}" ignore_errors: yes - assert: that: - 'dict_sum is undefined' - name: loop through list with strings set_fact: list_for_strings: "{% for x in list_one %}{{ x }}{% endfor %}" - assert: that: - 'list_for_strings == "onetwo"' - 'list_for_strings|type_debug in ["str", "unicode"]' - name: loop through list with int set_fact: list_for_int: "{% for x in list_one_int %}{{ x }}{% endfor %}" - assert: that: - 'list_for_int == 1' - 'list_for_int|type_debug == "int"' - name: loop through list with ints set_fact: list_for_ints: "{% for x in list_ints %}{{ x }}{% endfor %}" - assert: that: - 'list_for_ints == 42' - 'list_for_ints|type_debug == "int"' - name: loop through list to create a new list set_fact: list_from_list: "[{% for x in list_ints %}{{ x }},{% endfor %}]" - assert: that: - 'list_from_list == [4, 2]' - 'list_from_list|type_debug == "list"'