Skip to content

Commit 762b5d4

Browse files
committed
ST6RI-872 Updated Xpect tests.
1 parent 3f58c9a commit 762b5d4

49 files changed

Lines changed: 616 additions & 318 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

org.omg.kerml.xpect.tests/library/FeatureReferencingPerformances.kerml

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -133,8 +133,8 @@ standard library package FeatureReferencingPerformances {
133133
*/
134134

135135
in feature onOccurrence : Evaluation redefines onOccurrence {
136-
protected monitoredOccurrence : Evaluation [1] redefines monitoredOccurrence {
137-
out result : Anything[*] redefines result, monitoredFeature;
136+
protected expr monitoredOccurrence : Evaluation [1] redefines monitoredOccurrence {
137+
return result : Anything[*] redefines result, monitoredFeature;
138138
}
139139
}
140140
}
@@ -147,7 +147,9 @@ standard library package FeatureReferencingPerformances {
147147
*/
148148

149149
in bool redefines onOccurrence {
150-
protected bool redefines monitoredOccurrence[1];
150+
protected bool redefines monitoredOccurrence[1] {
151+
return result : Boolean [1];
152+
}
151153
}
152154
out redefines afterValues : Boolean [1];
153155
out redefines beforeValues : Boolean [1];
@@ -167,10 +169,16 @@ standard library package FeatureReferencingPerformances {
167169
feature isToTrue : Boolean [1] default true;
168170
out afterValues: Boolean[1] redefines values = isToTrue;
169171
private feature monitor1 : BooleanEvaluationResultMonitorPerformance [1] {
170-
feature redefines endWhen : HappensJustBefore;
172+
feature redefines endWhen : HappensJustBefore {
173+
end feature earlierOccurrence;
174+
end feature laterOccurrence;
175+
}
171176
}
172177
private feature monitor2 : BooleanEvaluationResultMonitorPerformance [1] {
173-
feature redefines endWhen : HappensJustBefore;
178+
feature redefines endWhen : HappensJustBefore {
179+
end feature earlierOccurrence;
180+
end feature laterOccurrence;
181+
}
174182
}
175183

176184
private connector : HappensJustBefore from [1] monitor1 to [0..1] monitor2;

org.omg.kerml.xpect.tests/library/Objects.kerml

Lines changed: 28 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -165,27 +165,46 @@ standard library package Objects {
165165
* inner space dimension of structured space object is the highest of their cells.
166166
*/
167167

168-
abstract portion feature structuredSpaceObjectCells : StructuredSpaceObject[1..*] subsets Occurrence::spaceSlices
169-
{ feature cellOrientation : Integer [0..1];
168+
abstract portion feature structuredSpaceObjectCells : StructuredSpaceObject[1..*] subsets Occurrence::spaceSlices {
169+
feature cellOrientation : Integer [0..1];
170170
inv { notEmpty(cellOrientation) implies (cellOrientation >= -1 & cellOrientation <= 1) }
171-
}
171+
}
172+
173+
comment about StructuredSurface, StructuredCurve, StructuredPoint
174+
/*
175+
* The structures StructuredSurface, StructuredCurve and StructuredPoint provide common, necessary redefinitions of
176+
* innerSpaceDimension. They also provide single types for the StructuredSpaceObject features faces, edges and
177+
* vertices, which avoids problems when these features are related by connectors with ends that have owned
178+
* cross features.
179+
*/
180+
struct StructuredSurface specializes StructuredSpaceObject, Surface {
181+
feature redefines StructuredSpaceObject::innerSpaceDimension, Surface::innerSpaceDimension;
182+
}
183+
struct StructuredCurve specializes StructuredSpaceObject, Curve {
184+
feature redefines StructuredSpaceObject::innerSpaceDimension, Curve::innerSpaceDimension;
185+
}
186+
struct StructuredPoint specializes StructuredSpaceObject, Point {
187+
feature redefines StructuredSpaceObject::innerSpaceDimension, Point::innerSpaceDimension;
188+
}
172189

173-
portion feature faces : Surface[0..*] ordered subsets structuredSpaceObjectCells {
174-
feature redefines edges subsets StructuredSpaceObject::edges;
175-
feature redefines vertices subsets StructuredSpaceObject::vertices;
190+
portion feature faces : StructuredSurface[0..*] ordered subsets structuredSpaceObjectCells {
191+
feature redefines that : StructuredSpaceObject;
192+
feature redefines edges subsets that.edges;
193+
feature redefines vertices subsets that.vertices;
176194
derived feature redefines spaceBoundary;
177195
inv { isEmpty(spaceBoundary) == isEmpty(union(edges, vertices)) }
178196
inv { notEmpty(spaceBoundary) implies contains(spaceBoundary.unionsOf, union(edges, vertices)) }
179197
}
180198

181-
portion feature edges : Curve[0..*] ordered subsets structuredSpaceObjectCells {
182-
feature redefines vertices subsets StructuredSpaceObject::vertices;
199+
portion feature edges : StructuredCurve[0..*] ordered subsets structuredSpaceObjectCells {
200+
feature redefines that : StructuredSpaceObject;
201+
feature redefines vertices subsets that.vertices;
183202
derived feature redefines spaceBoundary;
184203
inv { isEmpty(spaceBoundary) == isEmpty(vertices) }
185204
inv { notEmpty(spaceBoundary) implies contains(spaceBoundary.unionsOf, vertices) }
186205
}
187206

188-
portion feature vertices : Point[0..*] ordered subsets structuredSpaceObjectCells;
207+
portion feature vertices : StructuredPoint[0..*] ordered subsets structuredSpaceObjectCells;
189208

190209
derived feature redefines innerSpaceDimension =
191210
if notEmpty(faces) ? 2 else if notEmpty(edges) ? 1 else 0;

org.omg.kerml.xpect.tests/library/Observation.kerml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ standard library package Observation {
9292
end feature source {
9393
feature redefines sourceOutput = changeSignal;
9494
}
95+
end feature target;
9596
}
9697
}
9798

org.omg.kerml.xpect.tests/library/Occurrences.kerml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -537,16 +537,16 @@ standard library package Occurrences {
537537
* the inner ones.
538538
*/
539539

540-
feature redefines isClosed = true;
540+
inv { isClosed == true }
541541

542542
feature spaceBounder: Occurrence [1] subsets self;
543543

544-
outer: Occurrence [0..1] subsets spaceSlices {
544+
feature outer: Occurrence [0..1] subsets spaceSlices {
545545
feature redefines isClosed = true;
546546
feature redefines innerSpaceDimension = spaceBounder.innerSpaceDimension;
547547
}
548548

549-
inner: Occurrence [0..*] subsets spaceSlices {
549+
feature inner: Occurrence [0..*] subsets spaceSlices {
550550
feature redefines isClosed = true;
551551
feature redefines innerSpaceDimension = spaceBounder.innerSpaceDimension;
552552
}

org.omg.kerml.xpect.tests/library/Transfers.kerml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ standard library package Transfers {
167167
private succession self then target;
168168
}
169169

170-
interaction FlowTransferBefore specializes FlowTransfer, TransferBefore intersects FlowTransfer, TransferBefore {
170+
interaction FlowTransferBefore specializes TransferBefore, FlowTransfer intersects FlowTransfer, TransferBefore {
171171
doc
172172
/*
173173
* FlowTransferBefore is a FlowTransfer that is also a TransferBefore.

org.omg.kerml.xpect.tests/library/VectorFunctions.kerml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,9 @@ standard library package VectorFunctions {
179179
}
180180
function CartesianThreeVectorOf specializes CartesianVectorOf {
181181
in components: Real[3] ordered nonunique;
182-
return : CartesianThreeVectorValue[1];
182+
return : CartesianThreeVectorValue[1] {
183+
feature :>> CartesianVectorOf::result::dimension, CartesianThreeVectorValue::dimension;
184+
}
183185
}
184186

185187
feature cartesianZeroVector: CartesianVectorValue[3] =

org.omg.kerml.xpect.tests/src/org/omg/kerml/xpect/tests/testsuite/ShadowingTests_ImportAndInnerClassesNamesAreTheSameBadCase3_Rdef.kerml.xt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ package test{
2525
public import OuterPackage::*;
2626
}
2727
feature inner1 subsets inner {
28-
//XPECT warnings --> "Duplicate of inherited member name B from OuterPackage" at "B"
28+
//XPECT warnings --> "Duplicate of inherited member name 'B' from OuterPackage" at "B"
2929
feature B redefines A {
3030
//XPECT linkedName at a1 --> OuterPackage.A.a1
3131
//* XPECT scope at a1 ---

org.omg.kerml.xpect.tests/src/org/omg/kerml/xpect/tests/validation/MembershipTests_Distinguishability.kerml.xt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,12 @@ package test{
3333
classifier F {}
3434
}
3535
classifier D :> C {
36-
// XPECT warnings --> "Duplicate of inherited member name D from C" at "D"
36+
// XPECT warnings --> "Duplicate of inherited member name 'D' from C" at "D"
3737
classifier D {}
3838
}
39-
classifier E :> D {
40-
// XPECT warnings --> "Duplicate of inherited member name F from C" at "F"
39+
classifier E :> C;
40+
classifier F :> E {
41+
// XPECT warnings --> "Duplicate of inherited member name 'F' from C" at "F"
4142
classifier F {}
4243
}
4344

org.omg.kerml.xpect.tests/src/org/omg/kerml/xpect/tests/validation/Redefinition_Diamond1_invalid.kerml.xt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ package RedefinitionDiamond {
3333

3434
feature B :> A1, A2 {
3535
p2 :>> p1; // 2
36-
// XPECT warnings ---> "Duplicate of inherited member name p from A2" at "p"
36+
// XPECT warnings ---> "Duplicate of inherited member name 'p' from A2" at "p"
3737
feature p;
3838
}
3939
}

org.omg.kerml.xpect.tests/src/org/omg/kerml/xpect/tests/validation/Redefinition_Diamond_Invalid.kerml.xt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ package RedefinitionDiamond {
3333

3434
feature B :> A1, A2 {
3535
// p2 :>> p1; // 2
36-
// XPECT warnings ---> "Duplicate of inherited member name p from A2" at "p"
36+
// XPECT warnings ---> "Duplicate of inherited member name 'p' from A2" at "p"
3737
feature p;
3838
}
3939
}

0 commit comments

Comments
 (0)