Question: Precedence Write a function, named determine _ precedence, that takes a schedule ( a list of Actions ( see previous problem ) ) . This
Precedence
Write a function, named determineprecedence, that takes a schedule a list of Actions see previous problem
This function should return a list of precendences between transactions as determined by conflicts.
Each precedence is a tuple pair with the first element being the transaction that must precede the second
element transaction. Please sort the precedences before returning them transactions will be strings
Note: You are welcome to use the solution from previous questions.
Hint: You may find it useful to use itertools library in this question:
tests:
import sqlite
import unittest
from pprint import pprint
import sys
import os
syspath.appendhomecodioworkspacestudentcode
from precedence import determineprecedence
class Action:
def initself object transaction, iswrite:
self.object object
self.transaction transaction
self.iswrite iswrite
def strself:
return fActionselfobjectselftransactionselfiswrite
reprstr
class TestPrecedenceunittestTestCase:
def testvisibleself:
actions
ActionobjectA transactionT iswriteFalse
ActionobjectB transactionT iswriteFalse
ActionobjectA transactionT iswriteTrue
ActionobjectA transactionT iswriteFalse
ActionobjectB transactionT iswriteTrue
ActionobjectA transactionT iswriteTrue
ActionobjectB transactionT iswriteFalse
ActionobjectB transactionT iswriteTrue
printActions:
pprintactions
result determineprecedenceactions
printResult:
pprintresult
printExpected:
expected TTTT
pprintexpected
assert expected result
def testvisibleself:
actions
ActionobjectA transactionT iswriteFalse
ActionobjectB transactionT iswriteFalse
ActionobjectA transactionT iswriteTrue
ActionobjectA transactionT iswriteFalse
ActionobjectC transactionT iswriteTrue
ActionobjectB transactionT iswriteTrue
ActionobjectA transactionT iswriteTrue
ActionobjectC transactionT iswriteFalse
ActionobjectB transactionT iswriteFalse
ActionobjectB transactionT iswriteTrue
printActions:
pprintactions
result determineprecedenceactions
printResult:
pprintresult
printExpected:
expected TTTTTT
pprintexpected
assert expected result
def testvisibleself:
actions
ActionobjectA transactionT iswriteFalse
ActionobjectB transactionT iswriteFalse
ActionobjectA transactionT iswriteTrue
ActionobjectA transactionT iswriteFalse
ActionobjectC transactionT iswriteTrue
ActionobjectB transactionT iswriteTrue
ActionobjectB transactionT iswriteTrue
ActionobjectA transactionT iswriteTrue
ActionobjectC transactionT iswriteFalse
ActionobjectB transactionT iswriteFalse
ActionobjectB transactionT iswriteFalse
ActionobjectB transactionT iswriteTrue
printActions:
pprintactions
result determineprecedenceactions
printResult:
pprintresult
printExpected:
expected TTTTTTTTTT
pprintexpected
assert expected result
if namemain:
unittest.main
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
