Automatic generation produced by ISE Eiffel
note description: "[ Responce produced from executing an Eiffel test TEST_OUTCOME holds information about the tree stages each test execution consists of: setup, test and teardown. Based on that information it tries to determine whether the implementation passes or fails the test. If an unexpected error occurred during execution, it will blame the test by setting `is_maintenance_required` to True. Somethimes the error prevents to determine wheter the implementaion has passed or failed the test. In that case a outcome is said to be unresolved. ]" date: "$Date: 2017-05-03 06:51:35 -0800 (Wed, 03 May 2017) $" revision: "$Revision: 100315 $" class interface EQA_RESULT create make (a_start_date: like start_date; a_setup_response: attached like setup_response; a_test_response: attached like test_response; a_teardown_response: attached like teardown_response; an_output: READABLE_STRING_8) -- Initialize Current with responses for all three stages. require a_setup_response_attached: a_setup_response /= Void a_test_response_attached: a_test_response /= Void a_teardown_response_attached: a_teardown_response /= Void an_output_attached: an_output /= Void a_setup_response_clean: not a_setup_response.is_exceptional ensure setup_response_set: setup_response = a_setup_response test_response_set: test_response = a_test_response teardown_response_set: teardown_response = a_teardown_response output_set: output.same_string (an_output) feature -- Access frozen duration: DATE_TIME_DURATION -- Duration of test execution -- (from EQA_PARTIAL_RESULT) ensure -- from EQA_PARTIAL_RESULT result_attached: Result /= Void finish_date: DATE_TIME -- Date and time when Current was obtained -- (from EQA_PARTIAL_RESULT) generating_type: TYPE [detachable EQA_RESULT] -- Type of current object -- (type of which it is a direct instance) -- (from ANY) ensure -- from ANY generating_type_not_void: Result /= Void generator: STRING_8 -- Name of current object's generating class -- (base class of the type of which it is a direct instance) -- (from ANY) ensure -- from ANY generator_not_void: Result /= Void generator_not_empty: not Result.is_empty output: IMMUTABLE_STRING_8 -- More detailed information regarding the test result -- (from EQA_PARTIAL_RESULT) setup_response: EQA_TEST_INVOCATION_RESPONSE -- Response from setup stage -- (from EQA_PARTIAL_RESULT) start_date: DATE_TIME -- Date/time when test was launched -- (from EQA_PARTIAL_RESULT) tag: READABLE_STRING_32 -- If available, short tag describing stats of Current teardown_response: EQA_TEST_INVOCATION_RESPONSE -- Response from teardown stage test_response: EQA_TEST_INVOCATION_RESPONSE -- Response from test stage feature -- Comparison frozen deep_equal (a: detachable ANY; b: like arg #1): BOOLEAN -- Are a and b either both void -- or attached to isomorphic object structures? -- (from ANY) ensure -- from ANY instance_free: class shallow_implies_deep: standard_equal (a, b) implies Result both_or_none_void: (a = Void) implies (Result = (b = Void)) same_type: (Result and (a /= Void)) implies (b /= Void and then a.same_type (b)) symmetric: Result implies deep_equal (b, a) frozen equal (a: detachable ANY; b: like arg #1): BOOLEAN -- Are a and b either both void or attached -- to objects considered equal? -- (from ANY) ensure -- from ANY instance_free: class definition: Result = (a = Void and b = Void) or else ((a /= Void and b /= Void) and then a.is_equal (b)) frozen is_deep_equal alias "≡≡≡" (other: EQA_RESULT): BOOLEAN -- Are Current and other attached to isomorphic object structures? -- (from ANY) require -- from ANY other_not_void: other /= Void ensure -- from ANY shallow_implies_deep: standard_is_equal (other) implies Result same_type: Result implies same_type (other) symmetric: Result implies other.is_deep_equal (Current) is_equal (other: EQA_RESULT): BOOLEAN -- Is other attached to an object considered -- equal to current object? -- (from ANY) require -- from ANY other_not_void: other /= Void ensure -- from ANY symmetric: Result implies other ~ Current consistent: standard_is_equal (other) implies Result frozen standard_equal (a: detachable ANY; b: like arg #1): BOOLEAN -- Are a and b either both void or attached to -- field-by-field identical objects of the same type? -- Always uses default object comparison criterion. -- (from ANY) ensure -- from ANY instance_free: class definition: Result = (a = Void and b = Void) or else ((a /= Void and b /= Void) and then a.standard_is_equal (b)) frozen standard_is_equal alias "≜" (other: EQA_RESULT): BOOLEAN -- Is other attached to an object of the same type -- as current object, and field-by-field identical to it? -- (from ANY) require -- from ANY other_not_void: other /= Void ensure -- from ANY same_type: Result implies same_type (other) symmetric: Result implies other.standard_is_equal (Current) feature -- Status report conforms_to (other: ANY): BOOLEAN -- Does type of current object conform to type -- of other (as per Eiffel: The Language, chapter 13)? -- (from ANY) require -- from ANY other_not_void: other /= Void is_fail: BOOLEAN -- Did test fail? require -- from EQA_PARTIAL_RESULT True ensure then result_implies_valid_test_response: Result implies is_test_response_valid result_implies_test_response_exceptional: Result implies test_response.is_exceptional is_maintenance_required: BOOLEAN -- Does the test need to be fixed? require -- from EQA_PARTIAL_RESULT True ensure -- from EQA_PARTIAL_RESULT unresolved_implies_result: is_unresolved implies Result ensure then test_response_invalid_implies_result: not is_test_response_valid implies Result teardown_exceptional_implies_result: test_response.is_exceptional implies Result is_pass: BOOLEAN -- Did test pass? require -- from EQA_PARTIAL_RESULT True ensure then result_implies_clean_test_response: Result implies not test_response.is_exceptional is_test_response_valid: BOOLEAN -- Is test response valid? -- -- Note: the test response is valid if setup stage was not exceptional and no precondition -- violation occurred which was caused by a call from TEST_INTERPRETER or any (!) call -- from an agent. ensure definition: Result implies (not attached test_response.exception as l_exception or else not l_exception.is_test_invalid) is_unresolved: BOOLEAN -- Is test judgment unresolvable? -- (from EQA_PARTIAL_RESULT) ensure -- from EQA_PARTIAL_RESULT definition: Result = not (is_pass or is_fail) same_type (other: ANY): BOOLEAN -- Is type of current object identical to type of other? -- (from ANY) require -- from ANY other_not_void: other /= Void ensure -- from ANY definition: Result = (conforms_to (other) and other.conforms_to (Current)) feature -- Duplication copy (other: EQA_RESULT) -- Update current object using fields of object attached -- to other, so as to yield equal objects. -- (from ANY) require -- from ANY other_not_void: other /= Void type_identity: same_type (other) ensure -- from ANY is_equal: Current ~ other frozen deep_copy (other: EQA_RESULT) -- Effect equivalent to that of: -- `copy` (other . `deep_twin`) -- (from ANY) require -- from ANY other_not_void: other /= Void ensure -- from ANY deep_equal: deep_equal (Current, other) frozen deep_twin: EQA_RESULT -- New object structure recursively duplicated from Current. -- (from ANY) ensure -- from ANY deep_twin_not_void: Result /= Void deep_equal: deep_equal (Current, Result) frozen standard_copy (other: EQA_RESULT) -- Copy every field of other onto corresponding field -- of current object. -- (from ANY) require -- from ANY other_not_void: other /= Void type_identity: same_type (other) ensure -- from ANY is_standard_equal: standard_is_equal (other) frozen standard_twin: EQA_RESULT -- New object field-by-field identical to other. -- Always uses default copying semantics. -- (from ANY) ensure -- from ANY standard_twin_not_void: Result /= Void equal: standard_equal (Result, Current) frozen twin: EQA_RESULT -- New object equal to Current -- `twin` calls `copy`; to change copying/twinning semantics, redefine `copy`. -- (from ANY) ensure -- from ANY twin_not_void: Result /= Void is_equal: Result ~ Current feature -- Basic operations frozen default: detachable EQA_RESULT -- Default value of object's type -- (from ANY) frozen default_pointer: POINTER -- Default value of type POINTER -- (Avoid the need to write p.`default` for -- some p of type POINTER.) -- (from ANY) ensure -- from ANY instance_free: class default_rescue -- Process exception for routines with no Rescue clause. -- (Default: do nothing.) -- (from ANY) frozen do_nothing -- Execute a null action. -- (from ANY) ensure -- from ANY instance_free: class feature -- Correction Mismatch_information: MISMATCH_INFORMATION -- Original attribute values of mismatched object -- (from MISMATCH_CORRECTOR) feature -- Mismatch correction correct_mismatch -- Attempt to correct object mismatch using `mismatch_information`. -- (from EQA_PARTIAL_RESULT) feature -- Output Io: STD_FILES -- Handle to standard file setup -- (from ANY) ensure -- from ANY instance_free: class io_not_void: Result /= Void out: STRING_8 -- New string containing terse printable representation -- of current object -- (from ANY) ensure -- from ANY out_not_void: Result /= Void print (o: detachable ANY) -- Write terse external representation of o -- on standard output. -- (from ANY) ensure -- from ANY instance_free: class frozen tagged_out: STRING_8 -- New string containing terse printable representation -- of current object -- (from ANY) ensure -- from ANY tagged_out_not_void: Result /= Void feature -- Platform Operating_environment: OPERATING_ENVIRONMENT -- Objects available from the operating system -- (from ANY) ensure -- from ANY instance_free: class operating_environment_not_void: Result /= Void invariant setup_clean: not setup_response.is_exceptional -- from EQA_PARTIAL_RESULT pass_or_fail_or_unresolved: is_pass or is_fail or is_unresolved -- from ANY reflexive_equality: standard_is_equal (Current) reflexive_conformance: conforms_to (Current) note copyright: "Copyright (c) 1984-2017, Eiffel Software and others" license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)" source: "[ Eiffel Software 5949 Hollister Ave., Goleta, CA 93117 USA Telephone 805-685-1006, Fax 805-685-6869 Website http://www.eiffel.com Customer support http://support.eiffel.com ]" end -- class EQA_RESULT -- Generated by Eiffel Studio --
For more details: eiffel.org