def testPostponedSignals(self): register = CallTrace('register') register._immediateState = CallTrace() state = _PostponedState(register) state.signalOaiUpdate(metadataPrefixes=set(['p0']), sets=set()) state.signalOaiUpdate(metadataPrefixes=set(['p0']), sets=set(['s0'])) state.signalOaiUpdate(metadataPrefixes=set(['p0']), sets=set(['s0'])) state.signalOaiUpdate(metadataPrefixes=set(['p0']), sets=set(['s0'])) state.signalOaiUpdate(metadataPrefixes=set(['p0']), sets=set(['s0', 's1'])) state.signalOaiUpdate(metadataPrefixes=set(['p1']), sets=set(['s0'])) state.signalOaiUpdate(metadataPrefixes=set(['p1']), sets=set(['s0'])) state.signalOaiUpdate(metadataPrefixes=set(['p1', 'p2']), sets=set(['s0'])) state.switchToImmediate() self.assertEquals(['_handleOaiUpdateSignal'], register.calledMethodNames()) self.assertEquals({ 'p0': set(['s0', 's1']), 'p1': set(['s0']), 'p2': set(['s0']), }, register.calledMethods[0].kwargs['prefixAndSets'])
def testPostponedSignals(self): register = CallTrace('register') register._immediateState = CallTrace() state = _PostponedState(register) state.signalOaiUpdate(metadataPrefixes=set(['p0']), sets=set()) state.signalOaiUpdate(metadataPrefixes=set(['p0']), sets=set(['s0'])) state.signalOaiUpdate(metadataPrefixes=set(['p0']), sets=set(['s0'])) state.signalOaiUpdate(metadataPrefixes=set(['p0']), sets=set(['s0'])) state.signalOaiUpdate(metadataPrefixes=set(['p0']), sets=set(['s0', 's1'])) state.signalOaiUpdate(metadataPrefixes=set(['p1']), sets=set(['s0'])) state.signalOaiUpdate(metadataPrefixes=set(['p1']), sets=set(['s0'])) state.signalOaiUpdate(metadataPrefixes=set(['p1', 'p2']), sets=set(['s0'])) state.switchToImmediate() self.assertEqual(['_handleOaiUpdateSignal'], register.calledMethodNames()) self.assertEqual( { 'p0': set(['s0', 's1']), 'p1': set(['s0']), 'p2': set(['s0']), }, register.calledMethods[0].kwargs['prefixAndSets'])