PR# 19718 Precondition Violation (object type is wrong)
Problem Report Summary
Submitter: jimmy.johnson
Category: EiffelTest
Priority: Medium
Date: 2021/02/14
Class: Support
Severity: Serious
Number: 19718
Release: 20.05
Confidential: No
Status: Open
Responsible:
Environment: mac
Synopsis: Precondition Violation (object type is wrong)
Description
Simplified version of report number 19669. I still get the same error after removing the [thought-to-be-offending] override classes. The root class, BIG_NUMBER_NG_DEMO, and the class in question, BIG_NUMBER_TESTS, are very simple now. There are no external dependencies, and I removed the reliance on the override classes. (The accuracy or complexity of JJ_BIG_NUMBER and JJ_NATURAL_8_RNG should not matter.) In class BIG_NUMBER_TESTS, feature `is_negative' violates a precondition. Notice that `is_one', which has the same format, does not violate the precondition. In the debugger, the type of the argument that is the subject of the precondition is wrong--its type shows as BIG_NUMBER_TESTS, not a JJ_BIG_NUMBER as expected. Go up to the calling feature and the type of the local variable `n' that is passed to `compare_functions' is a JJ_BIG_NUMBER.
To Reproduce
Run the program or execute the two test features.
Problem Report Interactions