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
From:jimmy.johnson    Date:2021/02/14    Download   
Attachments for problem report #19718

Attachment: precondition_violation_Johnson.zip     Size:31624