import unittest import random from unitpy.GeneralTests import GeneralTests from typing import List from pickle import TRUE from unitpy.Before import Before, getBefore class Clazz1: ''' Bugged, it always returns the same hashcode. ''' def __init__(self, v:str): self.value = v def __repr__(self): return str(self.value) + " " + str(random.randint(1,100)) def __hash__(self): return hash(self.value) def __eq__(self, other): return isinstance(other, self.__class__) and \ self.value == other.value class Clazz2(Clazz1): @Before() def initialize(self): return "ok" class BeforeTest(unittest.TestCase): def test1(self): self.assertEqual(None, getBefore(Clazz1)) def test2(self): self.assertEqual(Clazz2.initialize, getBefore(Clazz2))