feat init test_helper

This commit is contained in:
fly6516 2025-04-21 03:49:11 +00:00
commit 254e595256

41
test_helper.py Executable file
View File

@ -0,0 +1,41 @@
import hashlib
class TestFailure(Exception):
pass
class PrivateTestFailure(Exception):
pass
class Test(object):
passed = 0
numTests = 0
failFast = False
private = False
@classmethod
def setFailFast(cls):
cls.failFast = True
@classmethod
def setPrivateMode(cls):
cls.private = True
@classmethod
def assertTrue(cls, result, msg=""):
cls.numTests += 1
if result == True:
cls.passed += 1
print ("1 test passed.")
else:
print ("1 test failed. " + msg)
if cls.failFast:
if cls.private:
raise PrivateTestFailure(msg)
else:
raise TestFailure(msg)
@classmethod
def assertEquals(cls, var, val, msg=""):
cls.assertTrue(var == val, msg)
@classmethod
def assertEqualsHashed(cls, var, hashed_val, msg=""):
cls.assertEquals(cls._hash(var), hashed_val, msg)
@classmethod
def printStats(cls):
print ("{0} / {1} test(s) passed.".format(cls.passed, cls.numTests))
@classmethod
def _hash(cls, x):
return hashlib.sha1(str(x)).hexdigest()