Skip to content

Instantly share code, notes, and snippets.

@dchentech
Created January 6, 2015 08:16
Show Gist options
  • Save dchentech/3ae77d34a025af42fce6 to your computer and use it in GitHub Desktop.
Save dchentech/3ae77d34a025af42fce6 to your computer and use it in GitHub Desktop.
Overwrite base class's methods.
# -*- coding: utf-8 -*-
"""
Overwrite base class's methods.
"""
import unittest
class Base(object):
def level(self):
return 0
class Level1(Base):
def level(self):
return 1
class Level2(Base):
pass
class TestInherit(unittest.TestCase):
def test_normal(self):
self.assertEqual( Base().level(), 0)
self.assertEqual(Level1().level(), 1)
self.assertEqual(Level2().level(), 0)
def test_overwrite(self):
self.assertEqual(Level2().level(), 0)
def level(self):
return -1
Base.level = level
self.assertEqual( Base().level(), -1)
self.assertEqual(Level1().level(), 1)
self.assertEqual(Level2().level(), -1)
if __name__ == '__main__': unittest.main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment