nodes: 0, module; 1, function_definition; 2, function_name:assert_output; 3, parameters; 4, block; 5, identifier:output; 6, identifier:assert_equal; 7, expression_statement; 8, expression_statement; 9, expression_statement; 10, if_statement; 11, comment:"""
      Check that two outputs have the same contents as one another, even if they
      aren't sorted yet
      """; 12, assignment; 13, assignment; 14, comparison_operator:sorted_output != sorted_assert; 15, block; 16, identifier:sorted_output; 17, call; 18, identifier:sorted_assert; 19, call; 20, identifier:sorted_output; 21, identifier:sorted_assert; 22, raise_statement; 23, identifier:sorted; 24, argument_list; 25, identifier:sorted; 26, argument_list; 27, call; 28, identifier:output; 29, identifier:assert_equal; 30, identifier:ValueError; 31, argument_list; 32, call; 33, attribute; 34, argument_list; 35, identifier:ASSERT_ERROR; 36, identifier:format; 37, identifier:sorted_output; 38, identifier:sorted_assert
code: def assert_output(output, assert_equal):
      """
      Check that two outputs have the same contents as one another, even if they
      aren't sorted yet
      """
      sorted_output = sorted(output)
      sorted_assert = sorted(assert_equal)
      if sorted_output != sorted_assert:
          raise ValueError(ASSERT_ERROR.format(sorted_output, sorted_assert))