|
|
Test Case taDOM2/25-taDOM2-28-LC
taDOM2 Lock Requests of executed Operation prependChild(contextElementNode, childType, childValue) returns NodeThe prependChild operation is executed on the context element node CO and prepends a new child to the (at least one) already existing child nodes. The CX lock on the context node is caused by the SX lock on the new child. The new prepended child node (the new first child) is returned.
Behavior specified with base operations:- readCO
- modifyCOFCE
- modifyFCPSE
Read Set = CO , Write Set = COFCE FCPSE - LockRequest[node=CO,lock:CX,PSE:-,NSE:-,FCE:EX,LCE:-]
- LockRequest[node=CN,lock:NR,PSE:-,NSE:-,FCE:-,LCE:-]
- LockRequest[node=FC,lock:-,PSE:EX,NSE:-,FCE:-,LCE:-]
taDOM2 Lock Requests of checked Operation insertBefore(contextNode, siblingType, siblingValue) executed on node LCThe insertBefore operation is executed on the context element node CO and inserts a new previous sibling node before the context node CO. There does not exist a previous sibling, so the context element node was the first child of the parent node PA and the inserted new sibling node (the new first child of PA) is returned.
Bahavior specified with base operations:- readCO
- modifyCOPSE
- modifyPAFCE
Read and write sets for execution on LC:Read Set = LC , Write Set = COFCE LCPSE - LockRequest[node=CO,lock:NR,PSE:EX,NSE:-,FCE:-,LCE:-] on LC
- LockRequest[node=CN,lock:NR,PSE:-,NSE:-,FCE:-,LCE:-] on LC
- LockRequest[node=PA,lock:CX,PSE:-,NSE:-,FCE:EX,LCE:-] on LC
Operations must be incompatibleCheck | Existing LockRequest[node=CO,lock:CX,PSE:-,NSE:-,FCE:EX,LCE:-] with Requested LockRequest[node=CO,lock:NR,PSE:EX,NSE:-,FCE:-,LCE:-] on LC | Requested lock IR on AC compatible to existing lock IX. Requested lock IR on PA compatible to existing lock IX. Requested lock IR on CO compatible to existing lock CX.
| Compatible | Check | Existing LockRequest[node=CO,lock:CX,PSE:-,NSE:-,FCE:EX,LCE:-] with Requested LockRequest[node=CN,lock:NR,PSE:-,NSE:-,FCE:-,LCE:-] on LC | Requested lock IR on AC compatible to existing lock IX. Requested lock IR on PA compatible to existing lock IX. Requested lock IR on CO compatible to existing lock CX.
| Compatible | Check | Existing LockRequest[node=CO,lock:CX,PSE:-,NSE:-,FCE:EX,LCE:-] with Requested LockRequest[node=PA,lock:CX,PSE:-,NSE:-,FCE:EX,LCE:-] on LC | On CO the first child edge lock EX is incompatible to the requested EX
| Incompatible | Check | Existing LockRequest[node=CN,lock:NR,PSE:-,NSE:-,FCE:-,LCE:-] with Requested LockRequest[node=CO,lock:NR,PSE:EX,NSE:-,FCE:-,LCE:-] on LC | Requested lock IR on AC compatible to existing lock IR. Requested lock IR on PA compatible to existing lock IR. Requested lock IR on CO compatible to existing lock IR.
| Compatible | Check | Existing LockRequest[node=CN,lock:NR,PSE:-,NSE:-,FCE:-,LCE:-] with Requested LockRequest[node=CN,lock:NR,PSE:-,NSE:-,FCE:-,LCE:-] on LC | Requested lock IR on AC compatible to existing lock IR. Requested lock IR on PA compatible to existing lock IR. Requested lock IR on CO compatible to existing lock IR.
| Compatible | Check | Existing LockRequest[node=CN,lock:NR,PSE:-,NSE:-,FCE:-,LCE:-] with Requested LockRequest[node=PA,lock:CX,PSE:-,NSE:-,FCE:EX,LCE:-] on LC | Requested lock IX on AC compatible to existing lock IR. Requested lock IX on PA compatible to existing lock IR. Requested lock CX on CO compatible to existing lock IR.
| Compatible | Check | Existing LockRequest[node=FC,lock:-,PSE:EX,NSE:-,FCE:-,LCE:-] with Requested LockRequest[node=CO,lock:NR,PSE:EX,NSE:-,FCE:-,LCE:-] on LC | | Compatible | Check | Existing LockRequest[node=FC,lock:-,PSE:EX,NSE:-,FCE:-,LCE:-] with Requested LockRequest[node=CN,lock:NR,PSE:-,NSE:-,FCE:-,LCE:-] on LC | | Compatible | Check | Existing LockRequest[node=FC,lock:-,PSE:EX,NSE:-,FCE:-,LCE:-] with Requested LockRequest[node=PA,lock:CX,PSE:-,NSE:-,FCE:EX,LCE:-] on LC | | Compatible | Test Case Ok |
|