def impl(namesAndStates):
      self.assertEquals('PoweredOff', namesAndStates.get('image1'))
      self.assertEquals('PoweredOff', namesAndStates.get('image2'))

      startRes = yield VirtualBox.start('image1')
      self.assertTrue(startRes)

      namesAndStates = yield VirtualBox.listVMsWithState()
      self.assertEquals('Running', namesAndStates.get('image1'))
      self.assertEquals('PoweredOff', namesAndStates.get('image2'))
      
      time.sleep(3)
 
      powerOffRes1 = yield VirtualBox.powerOff('image1')
      self.assertTrue(powerOffRes1)
        def impl(namesAndStates):
            self.assertEquals('PoweredOff', namesAndStates.get('image1'))
            self.assertEquals('PoweredOff', namesAndStates.get('image2'))

            startRes = yield VirtualBox.start('image1')
            self.assertTrue(startRes)

            namesAndStates = yield VirtualBox.listVMsWithState()
            self.assertEquals('Running', namesAndStates.get('image1'))
            self.assertEquals('PoweredOff', namesAndStates.get('image2'))

            time.sleep(3)

            powerOffRes1 = yield VirtualBox.powerOff('image1')
            self.assertTrue(powerOffRes1)
  def test_listVMsWithState(self):
    @defer.inlineCallbacks
    def impl(namesAndStates):
      self.assertEquals('PoweredOff', namesAndStates.get('image1'))
      self.assertEquals('PoweredOff', namesAndStates.get('image2'))

      startRes = yield VirtualBox.start('image1')
      self.assertTrue(startRes)

      namesAndStates = yield VirtualBox.listVMsWithState()
      self.assertEquals('Running', namesAndStates.get('image1'))
      self.assertEquals('PoweredOff', namesAndStates.get('image2'))
      
      time.sleep(3)
 
      powerOffRes1 = yield VirtualBox.powerOff('image1')
      self.assertTrue(powerOffRes1)

    d = VirtualBox.listVMsWithState()
    d.addCallback(impl)
    return d
    def test_listVMsWithState(self):
        @defer.inlineCallbacks
        def impl(namesAndStates):
            self.assertEquals('PoweredOff', namesAndStates.get('image1'))
            self.assertEquals('PoweredOff', namesAndStates.get('image2'))

            startRes = yield VirtualBox.start('image1')
            self.assertTrue(startRes)

            namesAndStates = yield VirtualBox.listVMsWithState()
            self.assertEquals('Running', namesAndStates.get('image1'))
            self.assertEquals('PoweredOff', namesAndStates.get('image2'))

            time.sleep(3)

            powerOffRes1 = yield VirtualBox.powerOff('image1')
            self.assertTrue(powerOffRes1)

        d = VirtualBox.listVMsWithState()
        d.addCallback(impl)
        return d