def multistep_change_log(parent, children):
 def verify(self, logger):
  [parent_action] = LoggedAction.of_type(logger.messages, parent)
  children_actions = [LoggedAction.of_type(logger.messages, child_action)[0] for child_action in children]
  self.assertEqual(children_actions, parent_action.children)
 return verify

def multistep_change_log ( parent , children ) : def verify ( self , logger ) : [ parent_action ] = LoggedAction . of_type ( logger . messages , parent ) children_actions = [ LoggedAction . of_type ( logger . messages , child_action ) [ 0 ] for child_action in children ] self . assertEqual ( children_actions , parent_action . children ) return verify
create an eliot logging validation function which asserts that the given parent action is logged with the given children actions .