commit 254e59525643bf7e3f99ac1a59f8127c056b622f Author: fly6516 Date: Mon Apr 21 03:49:11 2025 +0000 feat init test_helper diff --git a/test_helper.py b/test_helper.py new file mode 100755 index 0000000..c53722b --- /dev/null +++ b/test_helper.py @@ -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()