Question: Conflict - Serializable Write a function, named is _ conflict _ serializable that takes a schedule ( see previous problem ) , and returns true
ConflictSerializable
Write a function, named isconflictserializable that takes a schedule see previous problem and returns true if the schedule is conflictserializable.
test cases:
import sqlite
import unittest
from pprint import pprint
import sys
import os
syspath.appendhomecodioworkspacestudentcode
from conflictserializable import isconflictserializable
class Action:
def initself object transaction, iswrite:
self.object object
self.transaction transaction
self.iswrite iswrite
def strself:
return fActionselfobjectselftransactionselfiswrite
reprstr
class TestConflictSerializableunittestTestCase:
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 isconflictserializableactions
printfResult result
expected True
printfExpected expected
assert expected result
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
ActionobjectB transactionT iswriteTrue
printActions:
pprintactions
result isconflictserializableactions
printfResult result
expected False
printfExpected expected
assert expected result
def testhiddenself:
actions
ActionobjectA transactionT iswriteFalse
ActionobjectB transactionT iswriteFalse
ActionobjectA transactionT iswriteTrue
ActionobjectA transactionT iswriteFalse
ActionobjectB transactionT iswriteTrue
ActionobjectA transactionT iswriteTrue
ActionobjectB transactionT iswriteFalse
ActionobjectB transactionT iswriteFalse
ActionobjectB transactionT iswriteTrue
assert isconflictserializableactions
actions
ActionobjectA transactionT iswriteFalse
ActionobjectB transactionT iswriteFalse
ActionobjectA transactionT iswriteFalse
ActionobjectA transactionT iswriteTrue
ActionobjectA transactionT iswriteFalse
ActionobjectB transactionT iswriteTrue
ActionobjectA transactionT iswriteTrue
ActionobjectB transactionT iswriteFalse
ActionobjectB transactionT iswriteFalse
ActionobjectB transactionT iswriteTrue
assert not isconflictserializableactions
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
