Skip to content

Commit

Permalink
VER000 - operator_and attribute lookup
Browse files Browse the repository at this point in the history
  • Loading branch information
Ghesselink committed Nov 3, 2024
1 parent de7f324 commit 3b19ad4
Show file tree
Hide file tree
Showing 37 changed files with 200 additions and 138 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -11,21 +11,21 @@ Feature: ALB015 - Alignment business logic zero length final segment
Given An IfcAlignmentHorizontal
Given A relationship IfcRelNests from IfcAlignmentHorizontal to IfcAlignmentSegment and following that
Given Its final element at depth 1
Given Its attribute DesignParameters
Given Its attribute "DesignParameters"
Then The SegmentLength of the IfcAlignmentHorizontalSegment must be 0

Scenario: Validating final segment of vertical alignment business logic
Given A model with Schema "IFC4.3"
Given An IfcAlignmentVertical
Given A relationship IfcRelNests from IfcAlignmentVertical to IfcAlignmentSegment and following that
Given Its final element at depth 1
Given Its attribute DesignParameters
Given Its attribute "DesignParameters"
Then The HorizontalLength of the IfcAlignmentVerticalSegment must be 0

Scenario: Validating final segment of cant alignment business logic
Given A model with Schema "IFC4.3"
Given An IfcAlignmentCant
Given A relationship IfcRelNests from IfcAlignmentCant to IfcAlignmentSegment and following that
Given Its final element at depth 1
Given Its attribute DesignParameters
Given Its attribute "DesignParameters"
Then The HorizontalLength of the IfcAlignmentCantSegment must be 0
Original file line number Diff line number Diff line change
Expand Up @@ -11,37 +11,37 @@ Background: Validating schema version

Scenario: Validating the same geometry types for representation of the alignment
Given An IfcAlignment
Given Its attribute Representation
Given Its attribute Representations
Given Its attribute Item
Given its attribute "Representation"
Given its attribute "Representations"
Given Its attribute "Item"
Then Each segment must have the same geometry type as its corresponding segment in the applicable IfcAlignment layout

Scenario: Validating the same geometry type for representation of the horizontal layout
Given An IfcAlignmentHorizontal
Given Its attribute Representation
Given Its attribute Representations
Given Its attribute Items
Given its attribute "Representation"
Given its attribute "Representations"
Given its attribute "Items"
Then Each segment must have the same geometry type as its corresponding segment in the horizontal layout

Scenario: Validating the same geometry type for representation of the vertical layout
Given An IfcAlignmentVertical
Given Its attribute Representation
Given Its attribute Representations
Given Its attribute Items
Given its attribute "Representation"
Given its attribute "Representations"
Given its attribute "Items"
Then Each segment must have the same geometry type as its corresponding segment in the vertical layout

Scenario: Validating the same geometry type for representation of the cant layout
Given An IfcAlignmentCant
Given Its attribute Representation
Given Its attribute Representations
Given Its attribute Items
Given its attribute "Representation"
Given its attribute "Representations"
Given its attribute "Items"
Then Each segment must have the same geometry type as its corresponding segment in the cant layout

Scenario: Validating the same geometry type for representation of the individual segments
Given An IfcAlignmentSegment
Given Its attribute Representation
Given Its attribute Representations
Given Its attribute Items
Given its attribute "Representation"
Given its attribute "Representations"
Given its attribute "Items"
Then Each segment must have the same geometry type as its corresponding alignment segment


Expand Down
10 changes: 5 additions & 5 deletions features/ALS004_Alignment-segment-shape-representation.feature
Original file line number Diff line number Diff line change
Expand Up @@ -7,26 +7,26 @@ The rule verifies that each IfcAlignmentSegment uses correct representation.
Background:
Given A model with Schema "IFC4.3"
Given An IfcAlignmentSegment
Given Its attribute Representation
Given Its attribute Representations
Given its attribute "Representation"
Given its attribute "Representations"


@E00020
Scenario: Agreement on each IfcAlignmentSegment using correct representation - Value

Given Its attribute RepresentationIdentifier
Given its attribute "RepresentationIdentifier"
Then The value must be "Axis"


@E00020
Scenario: Agreement on each IfcAlignmentSegment using correct representation - Type

Given Its attribute RepresentationType
Given its attribute "RepresentationType"
Then The value must be "Segment"


@E00010
Scenario: Agreement on each IfcAlignmentSegment using correct representation items - Type

Given Its attribute Items
Given its attribute "Items"
Then The value must be "IfcCurveSegment"
4 changes: 2 additions & 2 deletions features/ALS005_Alignment-shape-representation.feature
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ The rule verifies that each IfcAlignment uses correct representation.
Background:
Given A model with Schema "IFC4.3"
Given An IfcAlignment
Given Its attribute Representation
Given Its attribute Representations
Given its attribute "Representation"
Given its attribute "Representations"


@E00020
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ The rule verifies that IfcAlignmentHorizontal is represented correctly with repr
Background:
Given A model with Schema "IFC4.3"
Given An IfcAlignmentHorizontal
Given Its attribute Representation
Given Its attribute Representations
Given its attribute "Representation"
Given its attribute "Representations"

@E00020
Scenario: Agreement on each IfcAlignmentHorizontal using correct representation - Value
Expand Down
10 changes: 5 additions & 5 deletions features/ALS007_Alignment-vertical-shape-representation.feature
Original file line number Diff line number Diff line change
Expand Up @@ -7,27 +7,27 @@ The rule verifies that IfcAlignmentVertical is represented correctly with repres
Background:
Given A model with Schema "IFC4.3"
Given An IfcAlignmentVertical
Given Its attribute Representation
Given Its attribute Representations
Given its attribute "Representation"
Given its attribute "Representations"

@version3
@E00010
Scenario: Agreement on each IfcAlignmentVertical using correct representation - Type

Given its attribute Items
Given its attribute "Items"
Then The type must be "IfcGradientCurve"

@E00020
Scenario: Agreement on each IfcAlignmentVertical using correct representation - Value

Given its attribute RepresentationIdentifier
Given its attribute "RepresentationIdentifier"
Then The value must be "Axis"


@E00020
Scenario: Agreement on each IfcAlignmentVertical using correct representation - Type

Given its attribute RepresentationType
Given its attribute "RepresentationType"
Then The value must be "Curve3D"


10 changes: 5 additions & 5 deletions features/ALS008_Alignment-cant-shape-representation.feature
Original file line number Diff line number Diff line change
Expand Up @@ -7,25 +7,25 @@ The rule verifies that IfcAlignmentCant is represented correctly with representa
Background:
Given A model with Schema "IFC4.3"
Given An IfcAlignmentCant
Given Its attribute Representation
Given Its attribute Representations
Given its attribute "Representation"
Given its attribute "Representations"

@E00020
Scenario: Agreement on each IfcAlignmentCant using correct representation - Value

Given its attribute RepresentationIdentifier
Given its attribute "RepresentationIdentifier"
Then The value must be "Axis"


@E00020
Scenario: Agreement on each IfcAlignmentCant using correct representation - Type

Given its attribute RepresentationType
Given its attribute "RepresentationType"
Then The value must be "Curve3D"


@E00010
Scenario: Agreement on each IfcAlignmentCant using correct representation items - Type

Given its attribute Items
Given its attribute "Items"
Then The type must be "IfcSegmentedReferenceCurve"
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Feature: ALS011 - Alignment segment entity type consistency
Scenario Outline: Consistent entity types used

Given an <entity>
Given its attribute Segments
Given its attribute "Segments"
Given its entity type

Then The values must be identical at depth 1
Expand All @@ -26,7 +26,7 @@ Scenario Outline: Consistent entity types used
Scenario Outline: IfcCurveSegment used for IfcSegmentedReferenceCurve and IfcGradientCurve

Given an <entity>
Given its attribute Segments
Given its attribute "Segments"
Given its entity type

Then The value must be "IfcCurveSegment"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@ Feature: ALS012 - Alignment segment start and length attribute types
Scenario Outline: Correct entity type used for SegmentStart and Segment Length
Given A model with Schema "IFC4.3"
Given An IfcAlignment
Given Its attribute Representation
Given Its attribute Representations
Given its attribute "Representation"
Given its attribute "Representations"
Given All referenced instances
Given Its Entity Type is '<entity>'
Given its attribute Segments
Given its attribute "Segments"
Given Its Entity Type is 'IfcCurveSegment'

Then The type of attribute <attribute> must be IfcLengthMeasure
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,15 @@ ends with a discontinuous segment with length = 0.
Background: Validating final segment of alignment geometry (representation).
Given A model with Schema "IFC4.3"
Given An IfcAlignment
Given Its attribute Representation
Given Its attribute Representations
Given its attribute Items
Given its attribute Segments
Given its attribute "Representation"
Given its attribute "Representations"
Given its attribute "Items"
Given its attribute "Segments"
Given Its final element at depth 1

Scenario: Validating that the final alignment geometry segment is of length 0.0.
Then The SegmentLength of the segment must be 0

Scenario: Validating that the final alignment geometry segment is discontinuous.
Given Its attribute Transition
Given Its attribute "Transition"
Then The value must be "DISCONTINUOUS"
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,12 @@ Background:

Given A model with Schema "IFC4.3"
Given An IfcAlignment
Given Its attribute Representation
Given Its attribute Representations
Given its attribute "Representation"
Given its attribute "Representations"
Given RepresentationType = 'Curve2D'
Given All referenced instances
Given Its Entity Type is 'IfcCompositeCurve'
Given Its attribute Segments
Given its attribute "Segments"
Given Its Entity Type is 'IfcCurveSegment'
Given The values grouped pairwise at depth 1

Expand Down
4 changes: 2 additions & 2 deletions features/ANN000_Annotations.feature
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ Feature: ANN000 - Annotations
Scenario: Check for activation

Given an IfcAnnotation
Given its attribute Representation
Given its attribute Representations
Given its attribute "Representation"
Given its attribute "Representations"
Given RepresentationIdentifier is 'Annotation'

Then The IFC model contains information on the selected functional part
Expand Down
4 changes: 2 additions & 2 deletions features/ASM000_Composed-elements.feature
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ Feature: ASM000 - Composed elements
Scenario: Check for activation

Given an IfcElement
Given its attribute Decomposes
Given its attribute "Decomposes"
Given its entity type is 'IfcRelAggregates'
Given its attribute RelatingObject
Given its attribute "RelatingObject"
Given its entity type is 'IfcElement' including subtypes

Then The IFC model contains information on the selected functional part
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ IfcFace with polygonal loops are used in IFC's Boundary Representation (BRep) me
Scenario: Validating that polyhedral IfcFace instances do not have self-intersections in their boundaries

Given An IfcFace
Given Its attribute Bounds
Given Its attribute Bound
Given Its attribute "Bounds"
Given Its attribute "Bound"
Given Its Entity Type is 'IfcPolyLoop'

Then There must be no self-intersections
4 changes: 2 additions & 2 deletions features/CLS000_Classification-association.feature
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ Feature: CLS000 - Classification Association
Scenario: Check for activation of Classification Association

Given an IfcObjectDefinition
Given its attribute HasAssociations
Given its attribute "HasAssociations"
Given its entity type is 'IfcRelAssociatesClassification'
Given its attribute RelatingClassification
Given its attribute "RelatingClassification"
Given its entity type is 'IfcClassificationReference'

Then The IFC model contains information on the selected functional part
Expand Down
6 changes: 3 additions & 3 deletions features/GEM003_Unique-representation-identifier.feature
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ The rule verifies that Shape Representation identifier is unique within the prod
Scenario: A Shape Representation identifier must not be used twice within the product representation of an IfcProduct element

Given An IfcProduct
Given Its attribute Representation
Given Its attribute Representations
Given its attribute RepresentationIdentifier
Given its attribute "Representation"
Given its attribute "Representations"
Given its attribute "RepresentationIdentifier"

Then The values must be unique
30 changes: 15 additions & 15 deletions features/GEM004_Constraints-on-representation-identifiers.feature
Original file line number Diff line number Diff line change
Expand Up @@ -9,19 +9,19 @@ The rule verifies that shape representations adhere to the permissible values ou

Given A model with Schema "IFC4.3"
Given An IfcProduct
Given Its attribute Representation
Given Its attribute Representations
Given Its attribute RepresentationIdentifier
Given its attribute "Representation"
Given its attribute "Representations"
Given its attribute "RepresentationIdentifier"

Then The values must be in 'valid_RepresentationIdentifier_IFC4.3.csv'

Scenario: Shape Representation Type must be valid - IFC4X3

Given A model with Schema "IFC4.3"
Given An IfcProduct
Given Its attribute Representation
Given Its attribute Representations
Given Its attribute RepresentationType
Given its attribute "Representation"
Given its attribute "Representations"
Given its attribute "RepresentationType"

Then The values must be in 'valid_RepresentationType_IFC4.3.csv'

Expand All @@ -30,28 +30,28 @@ The rule verifies that shape representations adhere to the permissible values ou

Given A model with Schema "IFC4"
Given An IfcProduct
Given Its attribute Representation
Given Its attribute Representations
Given Its attribute RepresentationIdentifier
Given its attribute "Representation"
Given its attribute "Representations"
Given its attribute "RepresentationIdentifier"

Then The values must be in 'valid_RepresentationIdentifier_IFC4.csv'

Scenario: Shape Representation Type must be valid - IFC4

Given A model with Schema "IFC4"
Given An IfcProduct
Given Its attribute Representation
Given Its attribute Representations
Given Its attribute RepresentationType
Given its attribute "Representation"
Given its attribute "Representations"
Given its attribute "RepresentationType"

Then The values must be in 'valid_RepresentationType_IFC4.csv'

Scenario: Shape Representation Type must be valid - IFC2X3
Given A model with Schema "IFC2X3"
Given An IfcProduct
Given Its attribute Representation
Given Its attribute Representations
Given Its attribute RepresentationType
Given its attribute "Representation"
Given its attribute "Representations"
Given its attribute "RepresentationType"

Then The values must be in 'valid_RepresentationType_IFC2X3.csv'

Loading

0 comments on commit 3b19ad4

Please sign in to comment.