import unittest import random from unitpy.GeneralTests import GeneralTests from typing import List from pickle import TRUE from unitpy.Parameters import Parameters, getParameters 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): @staticmethod @Parameters() def closeit(): return [["ok"]] class Clazz3(Clazz1): @Parameters() @staticmethod def closeit(): return [["ok"]] class ParametersTest(unittest.TestCase): def test1(self): self.assertEqual(None, getParameters(Clazz1)) def test2(self): self.assertEqual( Clazz2.closeit, getParameters(Clazz2)) def test3(self): self.assertEqual( Clazz3.closeit, getParameters(Clazz3))