These testcases are designed to help describe behaviour in edge cases and ambiguities. All valid IDS implementations must demonstrate identical behaviour to these test cases.
<entity>
<name>
<simpleValue>IFCRABBIT</simpleValue>
</name>
</entity>
#1=IFCWALL('0PN66raHH4QQ1g$6zEGrRU',$,$,$,$,$,$,$,$); /* Testcase */
<entity>
<name>
<simpleValue>IFCWALL</simpleValue>
</name>
</entity>
#1=IFCWALL('1aR5Hnwcz98OES8HsBjdSG',$,$,$,$,$,$,$,$); /* Testcase */
<entity>
<name>
<simpleValue>IFCWALL</simpleValue>
</name>
</entity>
#1=IFCWALL('1hle$JuvfBpAV2if17caId',$,$,$,$,$,$,$,.SOLIDWALL.); /* Testcase */
<entity>
<name>
<simpleValue>IFCWALL</simpleValue>
</name>
</entity>
#1=IFCSLAB('2oTmJMZhDEsfN6jMl0vh4m',$,$,$,$,$,$,$,$); /* Testcase */
<entity>
<name>
<simpleValue>IFCWALL</simpleValue>
</name>
</entity>
#1=IFCWALLSTANDARDCASE('3fmNQdmkH1T82kcVuxDl1D',$,$,$,$,$,$,$,$); /* Testcase */
<entity>
<name>
<simpleValue>IfcWall</simpleValue>
</name>
</entity>
#1=IFCWALL('0$sTjqhFX3lhre0RoDE16J',$,$,$,$,$,$,$,$); /* Testcase */
<entity>
<name>
<simpleValue>IFCWALL</simpleValue>
</name>
<predefinedType>
<simpleValue>SOLIDWALL</simpleValue>
</predefinedType>
</entity>
#1=IFCWALL('2Hl5xImwXDLOXfUVghElTR',$,$,$,$,$,$,$,.SOLIDWALL.); /* Testcase */
<entity>
<name>
<simpleValue>IFCWALL</simpleValue>
</name>
<predefinedType>
<simpleValue>SOLIDWALL</simpleValue>
</predefinedType>
</entity>
#1=IFCWALL('1NKsCXcmv0$Ao6_9NSlpjG',$,$,$,$,$,$,$,$); /* Testcase */
<entity>
<name>
<simpleValue>IFCWALL</simpleValue>
</name>
<predefinedType>
<simpleValue>SOLIDWALL</simpleValue>
</predefinedType>
</entity>
#1=IFCWALL('1FtvA_VyH5v9_45ykOQxof',$,$,$,$,$,$,$,.PARTITIONING.); /* Testcase */
<entity>
<name>
<simpleValue>IFCWALL</simpleValue>
</name>
<predefinedType>
<simpleValue>solidwall</simpleValue>
</predefinedType>
</entity>
#1=IFCWALL('1UukhMMhX7wP88EGcOeBby',$,$,$,$,$,$,$,.SOLIDWALL.); /* Testcase */
<entity>
<name>
<simpleValue>IFCWALL</simpleValue>
</name>
<predefinedType>
<simpleValue>WALDO</simpleValue>
</predefinedType>
</entity>
#1=IFCWALL('0lop$i0an22hC0GFtfkRQe',$,$,$,'WALDO',$,$,$,.USERDEFINED.); /* Testcase */
<entity>
<name>
<simpleValue>IFCWALL</simpleValue>
</name>
<predefinedType>
<simpleValue>WALDO</simpleValue>
</predefinedType>
</entity>
#1=IFCWALL('3Rdm1JzOH2vvg59Tfi$Tyl',$,$,$,'waldo',$,$,$,.USERDEFINED.); /* Testcase */
<entity>
<name>
<simpleValue>IFCWALLTYPE</simpleValue>
</name>
<predefinedType>
<simpleValue>WALDO</simpleValue>
</predefinedType>
</entity>
#1=IFCWALLTYPE('0OXXtCYYbAQP9mrN_CnIKe',$,$,$,$,$,$,$,'WALDO',.USERDEFINED.); /* Testcase */
<entity>
<name>
<simpleValue>IFCTASKTYPE</simpleValue>
</name>
<predefinedType>
<simpleValue>TASKY</simpleValue>
</predefinedType>
</entity>
#1=IFCTASKTYPE('31wzn1tiP7vh7$fnZojOsg',$,$,$,$,$,$,$,'TASKY',.USERDEFINED.,$); /* Testcase */
<entity>
<name>
<simpleValue>IFCWALL</simpleValue>
</name>
<predefinedType>
<simpleValue>USERDEFINED</simpleValue>
</predefinedType>
</entity>
#1=IFCWALL('29XOgfwprC$B9YVqonvU4_',$,$,$,'WALDO',$,$,$,.USERDEFINED.); /* Testcase */
<entity>
<name>
<simpleValue>IFCWALL</simpleValue>
</name>
<predefinedType>
<simpleValue>X</simpleValue>
</predefinedType>
</entity>
#1=IFCWALL('2ERMTIzsL7Lv5n4IjG0fWg',$,$,$,$,$,$,$,$); /* Testcase */
#2=IFCWALLTYPE('1wrVkTQIL0PO34wIeg9lmQ',$,$,$,$,$,$,$,'X',.USERDEFINED.);
#3=IFCRELDEFINESBYTYPE('2wKaA4Ykb6lRo6ytiBOb0d',$,$,$,(#1),#2);
<entity>
<name>
<simpleValue>IFCWALL</simpleValue>
</name>
<predefinedType>
<simpleValue>X</simpleValue>
</predefinedType>
</entity>
#1=IFCWALL('3pd6qLf7z2t8VMwKxx26Qg',$,$,$,'X',$,$,$,.USERDEFINED.); /* Testcase */
#2=IFCWALLTYPE('2qs3jH$lzC8vxg$isYkC6C',$,$,$,$,$,$,$,$,.NOTDEFINED.);
#3=IFCRELDEFINESBYTYPE('0ZtwWfPGXEL85XS7gFcCGg',$,$,$,(#1),#2);
<entity>
<name>
<xs:restriction base="xs:string">
<xs:enumeration value="IFCWALL"/>
<xs:enumeration value="IFCSLAB"/>
</xs:restriction>
</name>
</entity>
#1=IFCWALL('0tSzdGkKb89htb2XjPEbxA',$,$,$,$,$,$,$,$); /* Testcase */
<entity>
<name>
<xs:restriction base="xs:string">
<xs:enumeration value="IFCWALL"/>
<xs:enumeration value="IFCSLAB"/>
</xs:restriction>
</name>
</entity>
#1=IFCSLAB('1iyN6FMOP7GwbozUuU42m0',$,$,$,$,$,$,$,$); /* Testcase */
<entity>
<name>
<xs:restriction base="xs:string">
<xs:enumeration value="IFCWALL"/>
<xs:enumeration value="IFCSLAB"/>
</xs:restriction>
</name>
</entity>
#1=IFCBEAM('2bBUe2R0b9dvOpCnq_Qfkm',$,$,$,$,$,$,$,$); /* Testcase */
<entity>
<name>
<xs:restriction base="xs:string">
<xs:pattern value="IFC.*TYPE"/>
</xs:restriction>
</name>
</entity>
#1=IFCWALL('23RVloAM566P_TmX4fYS_M',$,$,$,$,$,$,$,$); /* Testcase */
<entity>
<name>
<xs:restriction base="xs:string">
<xs:pattern value="IFC.*TYPE"/>
</xs:restriction>
</name>
</entity>
#1=IFCWALLTYPE('19v0GfRDD2UPa5aSDxsRTZ',$,$,$,$,$,$,$,$,.ELEMENTEDWALL.); /* Testcase */
<entity>
<name>
<simpleValue>IFCWALL</simpleValue>
</name>
<predefinedType>
<xs:restriction base="xs:string">
<xs:pattern value="FOO.*"/>
</xs:restriction>
</predefinedType>
</entity>
#1=IFCWALL('3_26sgRW96r8d$iSmhzJFh',$,$,$,'FOOBAR',$,$,$,.USERDEFINED.); /* Testcase */
<entity>
<name>
<simpleValue>IFCWALL</simpleValue>
</name>
<predefinedType>
<xs:restriction base="xs:string">
<xs:pattern value="FOO.*"/>
</xs:restriction>
</predefinedType>
</entity>
#1=IFCWALL('2lcbUouZ93U9bunLnnaGJ$',$,$,$,'FOOBAZ',$,$,$,.USERDEFINED.); /* Testcase */
<entity>
<name>
<simpleValue>IFCWALL</simpleValue>
</name>
<predefinedType>
<xs:restriction base="xs:string">
<xs:pattern value="FOO.*"/>
</xs:restriction>
</predefinedType>
</entity>
#1=IFCWALL('1m9oC3eIX7Og9Jx6gVeY83',$,$,$,'BAZFOO',$,$,$,.USERDEFINED.); /* Testcase */