-
Notifications
You must be signed in to change notification settings - Fork 55
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Availability of Applicability testcases #181
Comments
|
Thanks, guess the main point was that it would be handy to codify this in some test cases so we don't get ambiguity. Just on the point of ambiguity, from my understanding Union = OR, Intersection = AND - just goes to show the imperfections of written requirements ;-)
I think we're up to date. I was just using those terms as shorthand as per https://github.com/buildingSMART/IDS/blob/master/Documentation/developer-guide.md#optionality (I've probably mentioned before I think the use of min/maxOccurs is a bit obtuse and an overloading of XSD schema onto the domain, but that's where we are). For me the core of this 'Optionality' question for me is how does an Applicability facet with maxOccurs=0 behave (or even maxOccurs=*)? Slightly contrived but here's an example. "For all doors without a property linking to the object library we want the CO2e provided": <specification ifcVersion="IFC2x3" name="Door must have COe2 available ..." description="Any Doors *without* a GS1 GTIN property must have Carbon rating property specified (the others we can easily get COe2 from a product library via GTIN)" minOccurs="0">
<applicability>
<entity>
<name>
<simpleValue>IFCDOOR</simpleValue>
</name>
</entity>
<property maxOccurs="0">
<name>
<simpleValue>GlobalTradeItemNumber</simpleValue>
</name>
</property>
</applicability>
<requirements>
<property minOccurs="1" maxOccurs="1">
<name>
<simpleValue>Embodied Carbon A1-A3</simpleValue>
</name>
</property>
</requirements>
</specification> This feels valid, but am not sure if we all have the same understanding over the expected behaviour. Some test cases would be great ;-) |
From @pasi-paasiala There's no good test case for classification. For example: Classification with fixed system name |
Have a test case for Prohibited IfcBuildingElementProxy (through applicability) |
Applicability also need to be tested with larger models, where filtering is relevant. |
@atomczak suggested to start from one of the duplex files available here: |
Most of the existing test cases (which are really useful BTW) seem to exercise the Requirements scenarios over the Applicability side of things.
I'm presuming that's since Requirements are the primary focus of the specification, but it would be good to have some reference cases for Applicability so all implementors have the same understanding.
Following on from #177 a few queries I had:
Feels like it's worth getting clarity on these if we've not done so already.
The text was updated successfully, but these errors were encountered: