|
|
Test Case taDOM2+/8-taDOM2+-30-LCtaDOM2+ Lock Requests of executed Operation getLastChild(contextElementNode) returns NodeThe getLastChild operation returns the last child LC of the context node CO.
Behavior specified with base operations:- readCO
- useCOLCE
- readLC
- useLCNSE
Read Set = CO LC COLCE LCNSE , Write Set = - LockRequest[node=CO,lock:NR,PSE:-,NSE:-,FCE:-,LCE:ER]
- LockRequest[node=CN,lock:NR,PSE:-,NSE:-,FCE:-,LCE:-]
- LockRequest[node=LC,lock:NR,PSE:-,NSE:ER,FCE:-,LCE:-]
- LockRequest[node=LN,lock:NR,PSE:-,NSE:-,FCE:-,LCE:-]
taDOM2+ Lock Requests of checked Operation insertAfter(contextNode, siblingType, siblingValue) executed on node LCThe insertAfter operation is executed on the context element node CO and inserts a new next sibling node after the context node CO. There does not exist a next sibling, so the context element node was the last child of the parent node PA and the inserted new sibling node (the new last child of PA) is returned.
Bahavior specified with base operations:- readCO
- modifyCONSE
- modifyPALCE
Read and write sets for execution on LC:Read Set = LC , Write Set = COLCE LCNSE - LockRequest[node=CO,lock:NR,PSE:-,NSE:EX,FCE:-,LCE:-] on LC
- LockRequest[node=CN,lock:NR,PSE:-,NSE:-,FCE:-,LCE:-] on LC
- LockRequest[node=PA,lock:CX,PSE:-,NSE:-,FCE:-,LCE:EX] on LC
Operations must be incompatibleCheck | Existing LockRequest[node=CO,lock:NR,PSE:-,NSE:-,FCE:-,LCE:ER] with Requested LockRequest[node=CO,lock:NR,PSE:-,NSE:EX,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 NR.
| Compatible | Check | Existing LockRequest[node=CO,lock:NR,PSE:-,NSE:-,FCE:-,LCE:ER] 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 NR.
| Compatible | Check | Existing LockRequest[node=CO,lock:NR,PSE:-,NSE:-,FCE:-,LCE:ER] with Requested LockRequest[node=PA,lock:CX,PSE:-,NSE:-,FCE:-,LCE:EX] on LC | On CO the last child edge lock ER 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:-,NSE:EX,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:-,LCE:EX] 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=LC,lock:NR,PSE:-,NSE:ER,FCE:-,LCE:-] with Requested LockRequest[node=CO,lock:NR,PSE:-,NSE:EX,FCE:-,LCE:-] on LC | On LC The next sibling edge lock ER is incompatible to the requested EX
| Incompatible | Check | Existing LockRequest[node=LC,lock:NR,PSE:-,NSE:ER,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. Requested lock IR on LC compatible to existing lock NR.
| Compatible | Check | Existing LockRequest[node=LC,lock:NR,PSE:-,NSE:ER,FCE:-,LCE:-] with Requested LockRequest[node=PA,lock:CX,PSE:-,NSE:-,FCE:-,LCE:EX] 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=LN,lock:NR,PSE:-,NSE:-,FCE:-,LCE:-] with Requested LockRequest[node=CO,lock:NR,PSE:-,NSE:EX,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. Requested lock NR on LC compatible to existing lock IR.
| Compatible | Check | Existing LockRequest[node=LN,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. Requested lock IR on LC compatible to existing lock IR. Requested lock NR on LN compatible to existing lock NR.
| Compatible | Check | Existing LockRequest[node=LN,lock:NR,PSE:-,NSE:-,FCE:-,LCE:-] with Requested LockRequest[node=PA,lock:CX,PSE:-,NSE:-,FCE:-,LCE:EX] 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 | Test Case Ok |
|