14
14
* limitations under the License.
15
15
*/
16
16
17
+ import org.modelix.model.api.ConceptReference
17
18
import org.modelix.model.api.IBranch
18
19
import org.modelix.model.api.IConcept
19
20
import org.modelix.model.api.IIdGenerator
@@ -27,6 +28,7 @@ class RandomTreeChangeGenerator(private val idGenerator: IIdGenerator, private v
27
28
val childRoles = listOf (" cRole1" , " cRole2" , " cRole3" )
28
29
val propertyRoles = listOf (" pRole1" , " pRole2" , " pRole3" )
29
30
val referenceRoles = listOf (" rRole1" , " rRole2" , " rRole3" )
31
+ val concepts = listOf (" concept1" , " concept2" , " concept3" )
30
32
val deleteOp: (IWriteTransaction , ExpectedTreeData ? ) -> Unit = { t, expectedTree ->
31
33
val nodeToDelete = TreeTestUtil (t.tree, rand).randomLeafNode
32
34
if (nodeToDelete != 0L && nodeToDelete != ITree .ROOT_ID ) {
@@ -98,11 +100,18 @@ class RandomTreeChangeGenerator(private val idGenerator: IIdGenerator, private v
98
100
}
99
101
}
100
102
}
103
+
104
+ val setConceptOp: (IWriteTransaction , ExpectedTreeData ? ) -> Unit = { transaction, expectedTree ->
105
+ val node = TreeTestUtil (transaction.tree, rand).randomNodeWithRoot
106
+ transaction.setConcept(node, ConceptReference (concepts[rand.nextInt(concepts.size)]))
107
+ }
108
+
101
109
var operations: List < (IWriteTransaction , ExpectedTreeData ? ) -> Unit > = listOf (
102
110
deleteOp,
103
111
addNewOp,
104
112
setPropertyOp,
105
113
setReferenceOp,
114
+ setConceptOp,
106
115
moveOp,
107
116
)
108
117
@@ -111,6 +120,7 @@ class RandomTreeChangeGenerator(private val idGenerator: IIdGenerator, private v
111
120
addNewOp,
112
121
setPropertyOp,
113
122
setReferenceOp,
123
+ setConceptOp,
114
124
)
115
125
return this
116
126
}
0 commit comments