code: def _parse_status(self, output):
          '''
          Unit testing is so much easier when Vagrant is removed from the
          equation.
          '''
          parsed = self._parse_machine_readable_output(output)
          statuses = []
          # group tuples by target name
          # assuming tuples are sorted by target name, this should group all
          # the tuples with info for each target.
          for target, tuples in itertools.groupby(parsed, lambda tup: tup[1]):
              # transform tuples into a dict mapping "type" to "data"
              info = {kind: data for timestamp, _, kind, data in tuples}
              status = Status(name=target, state=info.get('state'),
                              provider=info.get('provider-name'))
              statuses.append(status)
  
          return statusef _parse_status(self, output):
          '''
          Unit testing is so much easier when Vagrant is removed from the
          equation.
          '''
          parsed = self._parse_machine_readable_output(output)
          statuses = []
          # group tuples by target name
          # assuming tuples are sorted by target name, this should group all
          # the tuples with info for each target.
          for target, tuples in itertools.groupby(parsed, lambda tup: tup[1]):
              # transform tuples into a dict mapping "type" to "data"
              info = {kind: data for timestamp, _, kind, data in tuples}
              status = Status(name=target, state=info.get('state'),
                              provider=info.get('provider-name'))
              statuses.append(status)
  
          return statuses
docs: Unit testing is so much easier when Vagrant is removed from the
          equation.