Eiffel Studio seems to pass through my requirements even if I have them enabled on project settings. And as far as I remember I was able some time to put a break point into the requirements...
I don't understand what I'am missing here, as you can see in my example, the requirement passes through as I have the same condition on the code and it goes into (attached {POWER_DEVICE} a_csv.device as l_dev).

A general rule for inherited assertions is the following:
In the particular example the effective precondition is
This is reflected by the keywords
requireat the beginning andrequire elsein the middle of the combined precondition in the flat form of the feature. The expressionTrueis inherited. This is the precondition of the feature in the parent.A possible solution is to move
valid_csv (a_csv)to the parent feature, and redefinevalid_csvin the descendant. Ifvalid_csvis common for all calls, but the second test varies across descendants, it might be better to introduce a new featureis_knownand have 2 precondition subclauses in the parent:The implementation of
is_known_csvin the classPOWER_CSV_PROCESSORwould beand the precondition of feature
processinPOWER_CSV_PROCESSORwould be empty.The caller would then do something like