Skip to content

Commit d9ecb1f

Browse files
committed
ST6RI-795 Added xpect tests to cover some special cases of redefinitions
- Added tests to verify redefinition behavior in diamond shaped inheritance structures - Added test to verify redefinition behavior where the redefining feature, rather than referencing the tail end of a chain of redefinitions, references an element along the redefinition chain
1 parent 7e60391 commit d9ecb1f

5 files changed

Lines changed: 212 additions & 0 deletions

File tree

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
//*
2+
XPECT_SETUP org.omg.sysml.xpect.tests.validation.valid.SysMLTests
3+
ResourceSet {
4+
ThisFile {}
5+
File {from ="/library.kernel/Base.kerml"}
6+
File {from ="/library.kernel/Occurrences.kerml"}
7+
File {from ="/library.kernel/Objects.kerml"}
8+
File {from ="/library.kernel/Performances.kerml"}
9+
File {from ="/library.systems/Items.sysml"}
10+
File {from ="/library.systems/Parts.sysml"}
11+
}
12+
Workspace {
13+
JavaProject {
14+
SrcFolder {
15+
ThisFile {}
16+
File {from ="/library.kernel/Base.kerml"}
17+
File {from ="/library.kernel/Occurrences.kerml"}
18+
File {from ="/library.kernel/Objects.kerml"}
19+
File {from ="/library.kernel/Performances.kerml"}
20+
File {from ="/library.systems/Items.sysml"}
21+
File {from ="/library.systems/Parts.sysml"}
22+
}
23+
}
24+
}
25+
END_SETUP
26+
*/
27+
package RedefinitionDiamond {
28+
part A {
29+
part p[*];
30+
}
31+
part A1 :> A {
32+
p1 :>> p;
33+
}
34+
part A2 :> A {
35+
p :>> p; // 1
36+
}
37+
38+
part B :> A1, A2 {
39+
// p2 :>> p1; // 2
40+
// XPECT warnings ---> "Duplicate of inherited member name" at "p"
41+
part p;
42+
}
43+
}
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
//*
2+
XPECT_SETUP org.omg.sysml.xpect.tests.validation.valid.SysMLTests
3+
ResourceSet {
4+
ThisFile {}
5+
File {from ="/library.kernel/Base.kerml"}
6+
File {from ="/library.kernel/Occurrences.kerml"}
7+
File {from ="/library.kernel/Objects.kerml"}
8+
File {from ="/library.kernel/Performances.kerml"}
9+
File {from ="/library.systems/Items.sysml"}
10+
File {from ="/library.systems/Parts.sysml"}
11+
}
12+
Workspace {
13+
JavaProject {
14+
SrcFolder {
15+
ThisFile {}
16+
File {from ="/library.kernel/Base.kerml"}
17+
File {from ="/library.kernel/Occurrences.kerml"}
18+
File {from ="/library.kernel/Objects.kerml"}
19+
File {from ="/library.kernel/Performances.kerml"}
20+
File {from ="/library.systems/Items.sysml"}
21+
File {from ="/library.systems/Parts.sysml"}
22+
}
23+
}
24+
}
25+
END_SETUP
26+
*/
27+
package RedefinitionDiamond {
28+
part A {
29+
part p[*];
30+
}
31+
part A1 :> A {
32+
p1 :>> p;
33+
}
34+
part A2 :> A {
35+
// p :>> p; // 1
36+
}
37+
38+
part B :> A1, A2 {
39+
// p2 :>> p1; // 2
40+
// XPECT noErrors ---> ""
41+
part p;
42+
}
43+
}
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
//*
2+
XPECT_SETUP org.omg.sysml.xpect.tests.validation.valid.SysMLTests
3+
ResourceSet {
4+
ThisFile {}
5+
File {from ="/library.kernel/Base.kerml"}
6+
File {from ="/library.kernel/Occurrences.kerml"}
7+
File {from ="/library.kernel/Objects.kerml"}
8+
File {from ="/library.kernel/Performances.kerml"}
9+
File {from ="/library.systems/Items.sysml"}
10+
File {from ="/library.systems/Parts.sysml"}
11+
}
12+
Workspace {
13+
JavaProject {
14+
SrcFolder {
15+
ThisFile {}
16+
File {from ="/library.kernel/Base.kerml"}
17+
File {from ="/library.kernel/Occurrences.kerml"}
18+
File {from ="/library.kernel/Objects.kerml"}
19+
File {from ="/library.kernel/Performances.kerml"}
20+
File {from ="/library.systems/Items.sysml"}
21+
File {from ="/library.systems/Parts.sysml"}
22+
}
23+
}
24+
}
25+
END_SETUP
26+
*/
27+
package RedefinitionDiamond {
28+
part A {
29+
part p[*];
30+
}
31+
part A1 :> A {
32+
p1 :>> p;
33+
}
34+
part A2 :> A {
35+
p :>> p; // 1
36+
}
37+
38+
part B :> A1, A2 {
39+
p2 :>> p1; // 2
40+
// XPECT noErrors ---> ""
41+
part p;
42+
}
43+
}
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
//*
2+
XPECT_SETUP org.omg.sysml.xpect.tests.validation.valid.SysMLTests
3+
ResourceSet {
4+
ThisFile {}
5+
File {from ="/library.kernel/Base.kerml"}
6+
File {from ="/library.kernel/Occurrences.kerml"}
7+
File {from ="/library.kernel/Objects.kerml"}
8+
File {from ="/library.kernel/Performances.kerml"}
9+
File {from ="/library.systems/Items.sysml"}
10+
File {from ="/library.systems/Parts.sysml"}
11+
}
12+
Workspace {
13+
JavaProject {
14+
SrcFolder {
15+
ThisFile {}
16+
File {from ="/library.kernel/Base.kerml"}
17+
File {from ="/library.kernel/Occurrences.kerml"}
18+
File {from ="/library.kernel/Objects.kerml"}
19+
File {from ="/library.kernel/Performances.kerml"}
20+
File {from ="/library.systems/Items.sysml"}
21+
File {from ="/library.systems/Parts.sysml"}
22+
}
23+
}
24+
}
25+
END_SETUP
26+
*/
27+
package RedefinitionDiamond {
28+
part A {
29+
part p[*];
30+
}
31+
part A1 :> A {
32+
p1 :>> p;
33+
}
34+
part A2 :> A {
35+
// p :>> p; // 1
36+
}
37+
38+
part B :> A1, A2 {
39+
p2 :>> p1; // 2
40+
// XPECT noErrors ---> ""
41+
part p;
42+
}
43+
}
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
//*
2+
XPECT_SETUP org.omg.sysml.xpect.tests.validation.valid.SysMLTests
3+
ResourceSet {
4+
ThisFile {}
5+
File {from ="/library.kernel/Base.kerml"}
6+
File {from ="/library.kernel/Occurrences.kerml"}
7+
File {from ="/library.kernel/Objects.kerml"}
8+
File {from ="/library.kernel/Performances.kerml"}
9+
File {from ="/library.systems/Items.sysml"}
10+
File {from ="/library.systems/Parts.sysml"}
11+
File {from ="/library.systems/Ports.sysml"}
12+
}
13+
Workspace {
14+
JavaProject {
15+
SrcFolder {
16+
ThisFile {}
17+
File {from ="/library.kernel/Base.kerml"}
18+
File {from ="/library.kernel/Occurrences.kerml"}
19+
File {from ="/library.kernel/Objects.kerml"}
20+
File {from ="/library.kernel/Performances.kerml"}
21+
File {from ="/library.systems/Items.sysml"}
22+
File {from ="/library.systems/Parts.sysml"}
23+
File {from ="/library.systems/Ports.sysml"}
24+
}
25+
}
26+
}
27+
END_SETUP
28+
*/
29+
package 'Hop-through' {
30+
port p;
31+
32+
part A {
33+
p :>> p;
34+
}
35+
36+
part B :> A {
37+
// XPECT noErrors ---> ""
38+
p :>> 'Hop-through'::p;
39+
}
40+
}

0 commit comments

Comments
 (0)