From 254e59525643bf7e3f99ac1a59f8127c056b622f Mon Sep 17 00:00:00 2001 From: fly6516 Date: Mon, 21 Apr 2025 03:49:11 +0000 Subject: [PATCH] feat init test_helper --- test_helper.py | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100755 test_helper.py 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()