Fix first param in __eq__ impl to be self

first parameter of a method should be named 'self'. Added a
test case as well

Change-Id: I03a993a9f84af354dcf7e358ed0e5e126eda48af
This commit is contained in:
Davanum Srinivas 2013-08-18 19:52:33 -04:00
parent 111845b3ea
commit 1cec054637
2 changed files with 15 additions and 2 deletions

View File

@ -747,8 +747,8 @@ class DeprecatedOpt(object):
def __key(self):
return (self.name, self.group)
def __eq__(x, y):
return x.__key() == y.__key()
def __eq__(self, other):
return self.__key() == other.__key()
def __hash__(self):
return hash(self.__key())

View File

@ -2740,6 +2740,19 @@ class SetDefaultsTestCase(BaseTestCase):
self.assertEqual(self.conf.blaa.foo, 'bar')
class DeprecatedOptionsTestCase(BaseTestCase):
def test_deprecated_opts_equal(self):
d1 = cfg.DeprecatedOpt('oldfoo', group='oldgroup')
d2 = cfg.DeprecatedOpt('oldfoo', group='oldgroup')
self.assertEqual(d1, d2)
def test_deprecated_opts_not_equal(self):
d1 = cfg.DeprecatedOpt('oldfoo', group='oldgroup')
d2 = cfg.DeprecatedOpt('oldfoo2', group='oldgroup')
self.assertNotEqual(d1, d2)
class MultipleDeprecatedOptionsTestCase(BaseTestCase):
def test_conf_file_override_use_deprecated_name_and_group(self):