buildingSMART / IDS

Computer interpretable (XML) standard to define Information Delivery Specifications for BIM (mainly used for IFC)
Other
167 stars 52 forks source link

Inconsistent ifcVersion in IDS testcases #273

Open andyward opened 1 month ago

andyward commented 1 month ago

Most of the testcases in the IDS folder (10 out of 12 in development) seem to have an ifcVersion inconsistent with their corresponding test IFC file. i.e. they have an ifcVersion="IFC2X3" in the IDS specification, but a _FILESCHEMA('IFC4') in the IFC. In all other testcases IFC4 is used consistently.

I'm assuming it's an oversight - apart from for _pass-specification_version_is_purely_metadata_and_does_not_impact_pass_or_failresult.ids

More generally, what is the thinking on the use of ifcVersion during model validation? Looking at ids/pass-specification_version_is_purely_metadata_and_does_not_impact_pass_or_fail_result.ids it seems that it should be ignored in terms of the test outcome?

It feels like it would be appropriate to at least warn the user the model may not be compatible with the specification, given the spec may be written to account for schema-specific concepts?

CBenghi commented 1 month ago

Unfortunately, I still don't have an implementation of verification engine to spot these issues.

My view is that the IFC schema version should be considered. Indeed I think that wee need a richer regression suite that include such test cases, including pass and fail tests.

A PR is welcome if you can help.

andyward commented 1 month ago

Thanks Claudio. I've put a PR in for these IDS files. It's mainly just to avoid confusion amongst implementors over what the test case is testing.

I've also finally made our xbim IDS verification engine public at https://github.com/xBimTeam/Xbim.IDS.Validator - will update the implementors links via another PR, as this should be a pretty comprehensive & robust IDS 0.97 /1.0 implementation for anyone using Microsoft .NET (including cross platform Core support)

CBenghi commented 3 weeks ago

Thanks @andyward, I will have to update the scripts.md file, because IDS files are generated, then accept the PR.