text: # -*- coding: utf8 -*-
  from __future__ import absolute_import, division, print_function
  from __future__ import unicode_literals
  from pylero.base_polarion import BasePolarion
  from pylero.text import Text
  from pylero.test_run_attachment import TestRunAttachment
  from pylero.test_run_attachment import ArrayOfTestRunAttachment
  from pylero.test_step_result import TestStepResult
  from pylero.test_step_result import ArrayOfTestStepResult
  from pylero.enum_option_id import EnumOptionId
  from pylero.work_item import _WorkItem
  from pylero.user import User
  
  
  class TestRecord(BasePolarion):
      """Object to handle the Polarion WSDL tns3:TestRecord class
  
      Attributes (for specific details, see Polarion):
          attachments (ArrayOfTestRunAttachment)
          comment (Text)
          defect_case_id (string)
          duration (float)
          executed (dateTime)
          executed_by (string)
          result (EnumOptionId)
          test_case_revision (string)
          test_case_id (string)
          test_step_results (ArrayOfTestStepResult)
  """
  
      _cls_suds_map = {
          "attachments":
              {"field_name": "attachments",
               "is_array": True,
               "cls": TestRunAttachment,
               "arr_cls": ArrayOfTestRunAttachment,
               "inner_field_name": "TestRunAttachment"},
          "comment":
              {"field_name": "comment",
               "cls": Text},
          "defect_case_id":
              {"field_name": "defectURI",
               "cls": _WorkItem,
               "named_arg": "uri",
               "sync_field": "uri"},
          "duration": "duration",
          "executed": "executed",
          "executed_by":
              {"field_name": "executedByURI",
               "cls": User,
               "named_arg": "uri",
               "sync_field": "uri"},
          "result":
              {"field_name": "result",
               "cls": EnumOptionId,
               "enum_id": "result"},
          "test_case_id":
              {"field_name": "testCaseURI",
               "cls": _WorkItem,
               "named_arg": "uri",
               "sync_field": "uri"},
          "test_case_revision": "testCaseRevision",
          "test_step_results":
              {"field_name": "testStepResults",
               "is_array": True,
               "cls": TestStepResult,
               "arr_cls": ArrayOfTestStepResult,
               "inner_field_name": "TestStepResult"}}
      _obj_client = "test_management_client"
      _obj_struct = "tns3:TestRecord"
      _id_field = "test_case_id"
  
      def __init__(self, project_id=None, test_case_id=None, suds_object=None):
          self.project_id = project_id if project_id else self.default_project
          super(self.__class__, self).__init__(test_case_id, suds_object)
  
      def _fix_circular_refs(self):
          # need to pass in the project_id parm to the Work Item,
          # but it is not given before instatiation
          self._cls_suds_map["test_case_id"]["additional_parms"] = \
              {"project_id": self.project_id}
          self._cls_suds_map["defect_case_id"]["additional_parms"] = \
              {"project_id": self.project_id}
  
  
  class ArrayOfTestRecord(BasePolarion):
      _obj_client = "test_management_client"
      _obj_struct = "tns3:ArrayOfTestRecord"
  