text: # # -*- coding: utf-8 -*-
  # # Import Python Libs
  # from __future__ import absolute_import, print_function, unicode_literals
  
  # # Import Salt Testing libs
  # from tests.support.unit import skipIf, TestCase
  # from tests.support.mock import NO_MOCK, NO_MOCK_REASON, MagicMock, patch
  
  # # Late import so mock can do its job
  # import salt.states.cyg as cyg
  # cyg.__salt__ = {}
  # cyg.__opts__ = {'test': False}
  
  
  # @skipIf(NO_MOCK, NO_MOCK_REASON)
  # class TestGemState(TestCase):
  
  #     def test_installed(self):
  #         gems = {'foo': ['1.0'], 'bar': ['2.0']}
  #         gem_list = MagicMock(return_value=gems)
  #         gem_install_succeeds = MagicMock(return_value=True)
  #         gem_install_fails = MagicMock(return_value=False)
  
  #         with patch.dict(gem.__salt__, {'gem.list': gem_list}):
  #             with patch.dict(gem.__salt__,
  #                             {'gem.install': gem_install_succeeds}):
  #                 ret = gem.installed('foo')
  #                 self.assertEqual(True, ret['result'])
  #                 ret = gem.installed('quux')
  #                 self.assertEqual(True, ret['result'])
  #                 gem_install_succeeds.assert_called_once_with(
  #                     'quux', pre_releases=False, ruby=None, runas=None,
  #                     version=None, rdoc=False, ri=False
  #                 )
  
  #             with patch.dict(gem.__salt__,
  #                             {'gem.install': gem_install_fails}):
  #                 ret = gem.installed('quux')
  #                 self.assertEqual(False, ret['result'])
  #                 gem_install_fails.assert_called_once_with(
  #                     'quux', pre_releases=False, ruby=None, runas=None,
  #                     version=None, rdoc=False, ri=False
  #                 )
  
  #     def test_removed(self):
  #         gems = ['foo', 'bar']
  #         gem_list = MagicMock(return_value=gems)
  #         gem_uninstall_succeeds = MagicMock(return_value=True)
  #         gem_uninstall_fails = MagicMock(return_value=False)
  #         with patch.dict(gem.__salt__, {'gem.list': gem_list}):
  #             with patch.dict(gem.__salt__,
  #                             {'gem.uninstall': gem_uninstall_succeeds}):
  #                 ret = gem.removed('quux')
  #                 self.assertEqual(True, ret['result'])
  #                 ret = gem.removed('foo')
  #                 self.assertEqual(True, ret['result'])
  #                 gem_uninstall_succeeds.assert_called_once_with(
  #                     'foo', None, runas=None)
  
  #             with patch.dict(gem.__salt__,
  #                             {'gem.uninstall': gem_uninstall_fails}):
  #                 ret = gem.removed('bar')
  #                 self.assertEqual(False, ret['result'])
  #                 gem_uninstall_fails.assert_called_once_with(
  #                     'bar', None, runas=None)
  