From 25409235cced9de2ebe5a72e7dc670f593d66098 Mon Sep 17 00:00:00 2001 From: Claudio Maggioni Date: Wed, 15 Nov 2023 18:23:53 +0100 Subject: [PATCH] run tests --- fuzzer.py | 175 +++++++++++ instrument.py | 42 +-- requirements.txt | 4 +- tests/anagram_check_instrumented.py | 305 +++++++++++++++++++ tests/cd_count_instrumented.py | 308 ++++++++++++++++++++ tests/check_armstrong_instrumented.py | 305 +++++++++++++++++++ tests/decrypt_instrumented.py | 305 +++++++++++++++++++ tests/encrypt_instrumented.py | 305 +++++++++++++++++++ tests/exponentiation_instrumented.py | 305 +++++++++++++++++++ tests/gcd_instrumented.py | 305 +++++++++++++++++++ tests/longest_sorted_substr_instrumented.py | 305 +++++++++++++++++++ tests/rabin_karp_search_instrumented.py | 308 ++++++++++++++++++++ tests/raildecrypt_instrumented.py | 305 +++++++++++++++++++ tests/railencrypt_instrumented.py | 305 +++++++++++++++++++ tests/zeller_instrumented.py | 305 +++++++++++++++++++ 15 files changed, 3860 insertions(+), 27 deletions(-) create mode 100644 fuzzer.py create mode 100644 tests/anagram_check_instrumented.py create mode 100644 tests/cd_count_instrumented.py create mode 100644 tests/check_armstrong_instrumented.py create mode 100644 tests/decrypt_instrumented.py create mode 100644 tests/encrypt_instrumented.py create mode 100644 tests/exponentiation_instrumented.py create mode 100644 tests/gcd_instrumented.py create mode 100644 tests/longest_sorted_substr_instrumented.py create mode 100644 tests/rabin_karp_search_instrumented.py create mode 100644 tests/raildecrypt_instrumented.py create mode 100644 tests/railencrypt_instrumented.py create mode 100644 tests/zeller_instrumented.py diff --git a/fuzzer.py b/fuzzer.py new file mode 100644 index 0000000..0acbf57 --- /dev/null +++ b/fuzzer.py @@ -0,0 +1,175 @@ +from random import randrange, choice +import os +from frozendict import frozendict +import tqdm + +from instrument import load_benchmark, Arg, Params, functions, invoke, call_statement, BranchTransformer, module_of + +Range = tuple[int, int] + +INT_RANGE: Range = (-1000, 1000) +STRING_LEN_RANGE: Range = (0, 10) +STRING_CHAR_RANGE: Range = (ord('a'), ord('z') + 1) +POOL_SIZE: int = 1000 + +OUT_DIR = os.path.join(os.path.dirname(__file__), "tests") + + +def random_int() -> int: + return randrange(INT_RANGE[0], INT_RANGE[1]) + + +def random_str() -> str: + length = randrange(STRING_LEN_RANGE[0], STRING_LEN_RANGE[1]) + chr_from, chr_to = STRING_CHAR_RANGE + chars = [chr(randrange(chr_from, chr_to)) for _ in range(length)] + return "".join(chars) + + +def max_cases(args: list[Arg]) -> int: + num = 1 + for _, arg_type in args: + if arg_type == 'int': + num *= (INT_RANGE[1] - INT_RANGE[0]) + elif arg_type == 'str': + len_from, len_to = STRING_LEN_RANGE + chr_from, chr_to = STRING_CHAR_RANGE + num *= sum([(chr_to - chr_from) * length * length for length in range(len_from, len_to)]) + else: + raise ValueError(f"Arg type '{arg_type}' not supported") + return num + + +def random_arg(arg_type: str) -> any: + if arg_type == 'str': + return random_str() + elif arg_type == 'int': + return random_int() + else: + raise ValueError(f"Arg type '{arg_type}' not supported") + + +def random_params(arguments: list[Arg]) -> Params: + test_input: dict[str, any] = {} + + for arg_name, arg_type in arguments: + test_input[arg_name] = random_arg(arg_type) + + return frozendict(test_input) + + +pools: dict[tuple, set[tuple]] = {} + + +def get_pool(arguments: list[Arg]) -> set[Params]: + arg_types = tuple([arg_type for _, arg_type in arguments]) + arg_names = [arg_name for arg_name, _ in arguments] + + # Generate pool if not generated already + # The pool only remembers the order of parameters and not their names + if arg_types not in pools: + new_pool = set() + for _ in range(POOL_SIZE): + param_list: list[any] = [None] * len(arg_names) + + params = random_params(arguments) + for i, name in enumerate(arg_names): + param_list[i] = params[name] + + new_pool.add(tuple(param_list)) + + pools[arg_types] = new_pool + + return set([frozendict({arg_names[i]: p for i, p in enumerate(param)}) for param in pools[arg_types]]) + + +def get_test_cases(f_name: str, arguments: list[Arg], n: int) -> set[Params]: + assert n >= 1 + + pool: set[Params] = get_pool(arguments) + pool_list = list(pool) + tests: set[Params] = set() + types: dict[str, str] = {arg_name: arg_type for arg_name, arg_type in arguments} + + n = min(n, max_cases(arguments) // 3) # bound n by 1/3rd of the max possible number of tests + + with tqdm.tqdm(total=n, desc=f"Tests for {BranchTransformer.to_original_name(f_name)}") as pbar: + def consider_test_case(params: dict[str, any]): + t = frozendict(params) + + if t not in pool: + pool.add(t) + pool_list.append(t) + + try: + invoke(f_name, t) # check if this input satisfies the input assertion + except AssertionError: + return + + if t not in tests: + tests.add(t) + pbar.update() + + while len(tests) < n: + chosen_test: dict[str, any] = dict(choice(pool_list)) + kind = choice(['pool', 'mutation', 'crossover']) + + if kind == 'mutation': + arg_name = choice(list(chosen_test.keys())) # choose name to mutate + chosen_test[arg_name] = random_arg(types[arg_name]) # choose new value for this name + + consider_test_case(chosen_test) + elif kind == 'crossover': + # pick other distinct sample + other_chosen_test: dict[str, any] = chosen_test + while frozendict(chosen_test) == frozendict(other_chosen_test): + other_chosen_test = dict(choice(pool_list)) + + # Select a property at random and swap properties + arg_name = choice(list(chosen_test.keys())) + chosen_test[arg_name], other_chosen_test[arg_name] = other_chosen_test[arg_name], chosen_test[arg_name] + + consider_test_case(chosen_test) + consider_test_case(other_chosen_test) + else: + consider_test_case(chosen_test) + + return tests + + +def get_test_case_source(f_name: str, test_case: Params, i: int, indent: int): + f_name_orig = BranchTransformer.to_original_name(f_name) + space = " " * (4 * indent) + + output = invoke(f_name, test_case) + + if type(output) == str: + output = f"'{output}'" + + return f"""{space}def test_{f_name_orig}_{i}(self): +{space} assert {call_statement(f_name_orig, test_case)} == {output}""" + + +def get_test_class(f_name: str, n_tests: int) -> str: + f_name_orig = BranchTransformer.to_original_name(f_name) + + test_class = (f"from unittest import TestCase\n\nfrom {module_of[f_name]} import {f_name_orig}\n\n\n" + f"class Test_{f_name_orig}(TestCase):\n") + cases = get_test_cases(f_name, functions[f_name], n_tests) + test_class += "\n\n".join([get_test_case_source(f_name, case, i + 1, 1) for i, case in enumerate(cases)]) + return test_class + + +def main(): + load_benchmark(save_instrumented=False) # instrument all files in benchmark + + if not os.path.isdir(OUT_DIR): + os.makedirs(OUT_DIR) + + for f_name in functions.keys(): + with open(os.path.join(OUT_DIR, f_name + ".py"), "w") as f: + f.write(get_test_class(f_name, 100)) + + +if __name__ == '__main__': + main() diff --git a/instrument.py b/instrument.py index ac8b602..fb7d652 100644 --- a/instrument.py +++ b/instrument.py @@ -1,6 +1,9 @@ from typing import Optional import os.path +import tqdm +from frozendict import frozendict + import ast import astunparse import sys @@ -20,8 +23,9 @@ UP = 1000 REPS = 10 MAX_STRING_LENGTH = 10 -IN_DIR: str = os.path.join(os.path.dirname(__file__), 'benchmark') -OUT_DIR: str = os.path.join(os.path.dirname(__file__), 'instrumented') +ROOT_DIR: str = os.path.dirname(__file__) +IN_DIR: str = os.path.join(ROOT_DIR, 'benchmark') +OUT_DIR: str = os.path.join(ROOT_DIR, 'instrumented') SUFFIX: str = "_instrumented" distances_true: dict[int, int] = {} @@ -50,10 +54,12 @@ class BranchTransformer(ast.NodeTransformer): def visit_Assert(self, ast_node): # Disable recursion in asserts, i.e. do not instrument assert conditions + # TODO: may fail if assertion calls method (which must be renamed) return ast_node def visit_Return(self, ast_node): # Same thing for return statements + # TODO: may fail if return statement calls method (which must be renamed) return ast_node def visit_FunctionDef(self, ast_node): @@ -218,10 +224,11 @@ def generate(): ArgType = str Arg = tuple[str, ArgType] -Params = dict[str, any] +Params = frozendict[str, any] SignatureDict = dict[str, list[Arg]] functions: SignatureDict = {} +module_of: dict[str, str] = {} def instrument(source_path: str, target_path: str, save_instrumented=True): @@ -261,9 +268,12 @@ def instrument(source_path: str, target_path: str, save_instrumented=True): arg_types.append((arg.arg, arg_type)) functions[f.name] = arg_types + module_of[f.name] = os.path.normpath(os.path.relpath(source_path, ROOT_DIR)) \ + .replace(".py", "") \ + .replace("/", ".") -def invoke_signature(f_name: str, f_args: Params) -> any: +def invoke(f_name: str, f_args: Params) -> any: global functions current_module = sys.modules[__name__] @@ -287,30 +297,11 @@ def find_py_files(search_dir: str): def load_benchmark(save_instrumented=True): - for file in find_py_files(IN_DIR): + for file in tqdm.tqdm(find_py_files(IN_DIR), desc="Instrumenting"): instrument(file, os.path.join(OUT_DIR, os.path.basename(file)), save_instrumented=save_instrumented) -def run_all_example(): - global functions - - for f_name, f_args_signature in functions.items(): - args = {} - for arg_name, arg_type in f_args_signature: - # Generate some dummy values appropriate for each type - - if arg_type == 'int': - args[arg_name] = 42 - elif arg_type == 'str': - args[arg_name] = 'hello world' - else: - raise ValueError(f"Arg type '{arg_type}' for '{arg_name}' not supported") - - out = invoke_signature(f_name, args) - print(call_statement(f_name, args), "=", out) - - -def call_statement(f_name: str, f_args: Params, ) -> str: +def call_statement(f_name: str, f_args: Params) -> str: arg_list: list[str] = [] for k, v in f_args.items(): if type(v) == str: @@ -323,4 +314,3 @@ def call_statement(f_name: str, f_args: Params, ) -> str: if __name__ == '__main__': load_benchmark(save_instrumented=True) - run_all_example() diff --git a/requirements.txt b/requirements.txt index 51a6bf1..b01f1ce 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,5 @@ nltk==3.8.1 deap==1.4.1 -astunparse==1.6.3 \ No newline at end of file +astunparse==1.6.3 +frozendict==2.3.8 +tqdm==4.66.1 \ No newline at end of file diff --git a/tests/anagram_check_instrumented.py b/tests/anagram_check_instrumented.py new file mode 100644 index 0000000..7556f23 --- /dev/null +++ b/tests/anagram_check_instrumented.py @@ -0,0 +1,305 @@ +from unittest import TestCase + +from benchmark.anagram_check import anagram_check + + +class Test_anagram_check(TestCase): + def test_anagram_check_1(self): + assert anagram_check(s1='yplc', s2='ycq') == False + + def test_anagram_check_2(self): + assert anagram_check(s1='ecw', s2='oyhf') == False + + def test_anagram_check_3(self): + assert anagram_check(s1='zldep', s2='zhjknjbzs') == False + + def test_anagram_check_4(self): + assert anagram_check(s1='vhvz', s2='ai') == False + + def test_anagram_check_5(self): + assert anagram_check(s1='c', s2='') == False + + def test_anagram_check_6(self): + assert anagram_check(s1='zuampazf', s2='kfmaiwhko') == False + + def test_anagram_check_7(self): + assert anagram_check(s1='evsvfovko', s2='hauhpmt') == False + + def test_anagram_check_8(self): + assert anagram_check(s1='gqkbyu', s2='gjeg') == False + + def test_anagram_check_9(self): + assert anagram_check(s1='y', s2='yduqc') == False + + def test_anagram_check_10(self): + assert anagram_check(s1='pgllzt', s2='hjq') == False + + def test_anagram_check_11(self): + assert anagram_check(s1='grxyqmu', s2='e') == False + + def test_anagram_check_12(self): + assert anagram_check(s1='', s2='jp') == False + + def test_anagram_check_13(self): + assert anagram_check(s1='rbqs', s2='khdwq') == False + + def test_anagram_check_14(self): + assert anagram_check(s1='eecze', s2='g') == False + + def test_anagram_check_15(self): + assert anagram_check(s1='fymazhw', s2='qja') == False + + def test_anagram_check_16(self): + assert anagram_check(s1='', s2='zjslnlgb') == False + + def test_anagram_check_17(self): + assert anagram_check(s1='de', s2='thvvqoyx') == False + + def test_anagram_check_18(self): + assert anagram_check(s1='gqpctlvm', s2='') == False + + def test_anagram_check_19(self): + assert anagram_check(s1='', s2='y') == False + + def test_anagram_check_20(self): + assert anagram_check(s1='qkh', s2='vuwl') == False + + def test_anagram_check_21(self): + assert anagram_check(s1='t', s2='t') == True + + def test_anagram_check_22(self): + assert anagram_check(s1='jt', s2='ivx') == False + + def test_anagram_check_23(self): + assert anagram_check(s1='v', s2='xuif') == False + + def test_anagram_check_24(self): + assert anagram_check(s1='', s2='afxe') == False + + def test_anagram_check_25(self): + assert anagram_check(s1='yjgvhbu', s2='itcww') == False + + def test_anagram_check_26(self): + assert anagram_check(s1='opw', s2='') == False + + def test_anagram_check_27(self): + assert anagram_check(s1='ynowvxbwt', s2='ofaunfn') == False + + def test_anagram_check_28(self): + assert anagram_check(s1='vnx', s2='g') == False + + def test_anagram_check_29(self): + assert anagram_check(s1='kgc', s2='vjwbqnzn') == False + + def test_anagram_check_30(self): + assert anagram_check(s1='e', s2='pf') == False + + def test_anagram_check_31(self): + assert anagram_check(s1='imvqj', s2='kpfcfxga') == False + + def test_anagram_check_32(self): + assert anagram_check(s1='wiespjdeo', s2='') == False + + def test_anagram_check_33(self): + assert anagram_check(s1='jgi', s2='kl') == False + + def test_anagram_check_34(self): + assert anagram_check(s1='nylvfden', s2='kuihzw') == False + + def test_anagram_check_35(self): + assert anagram_check(s1='', s2='xpqvjl') == False + + def test_anagram_check_36(self): + assert anagram_check(s1='dxceubtlu', s2='kwfegvfu') == False + + def test_anagram_check_37(self): + assert anagram_check(s1='rpl', s2='yduqc') == False + + def test_anagram_check_38(self): + assert anagram_check(s1='jyaxwjvv', s2='ve') == False + + def test_anagram_check_39(self): + assert anagram_check(s1='aevailuxu', s2='') == False + + def test_anagram_check_40(self): + assert anagram_check(s1='vpicbln', s2='l') == False + + def test_anagram_check_41(self): + assert anagram_check(s1='ckbgmzae', s2='ikfdk') == False + + def test_anagram_check_42(self): + assert anagram_check(s1='o', s2='exwmqp') == False + + def test_anagram_check_43(self): + assert anagram_check(s1='ntuuht', s2='orkj') == False + + def test_anagram_check_44(self): + assert anagram_check(s1='bo', s2='') == False + + def test_anagram_check_45(self): + assert anagram_check(s1='fxfxea', s2='pnpmdti') == False + + def test_anagram_check_46(self): + assert anagram_check(s1='l', s2='vqvrhhf') == False + + def test_anagram_check_47(self): + assert anagram_check(s1='eqdgjmuu', s2='a') == False + + def test_anagram_check_48(self): + assert anagram_check(s1='zxznuo', s2='mz') == False + + def test_anagram_check_49(self): + assert anagram_check(s1='ffe', s2='uliflb') == False + + def test_anagram_check_50(self): + assert anagram_check(s1='kcy', s2='mazdaemjz') == False + + def test_anagram_check_51(self): + assert anagram_check(s1='coetxy', s2='jzkufxdun') == False + + def test_anagram_check_52(self): + assert anagram_check(s1='cdaasq', s2='mpglw') == False + + def test_anagram_check_53(self): + assert anagram_check(s1='n', s2='xhzet') == False + + def test_anagram_check_54(self): + assert anagram_check(s1='ama', s2='jxjpoim') == False + + def test_anagram_check_55(self): + assert anagram_check(s1='lakfn', s2='x') == False + + def test_anagram_check_56(self): + assert anagram_check(s1='hdle', s2='qpcnia') == False + + def test_anagram_check_57(self): + assert anagram_check(s1='omquy', s2='qbqgfflcu') == False + + def test_anagram_check_58(self): + assert anagram_check(s1='gter', s2='cpicjywy') == False + + def test_anagram_check_59(self): + assert anagram_check(s1='lakfn', s2='vqvrhhf') == False + + def test_anagram_check_60(self): + assert anagram_check(s1='jyznboajo', s2='bmca') == False + + def test_anagram_check_61(self): + assert anagram_check(s1='', s2='ydb') == False + + def test_anagram_check_62(self): + assert anagram_check(s1='sivmua', s2='x') == False + + def test_anagram_check_63(self): + assert anagram_check(s1='eyyb', s2='uxjwf') == False + + def test_anagram_check_64(self): + assert anagram_check(s1='wibdil', s2='it') == False + + def test_anagram_check_65(self): + assert anagram_check(s1='fyfw', s2='lnj') == False + + def test_anagram_check_66(self): + assert anagram_check(s1='xelkoql', s2='em') == False + + def test_anagram_check_67(self): + assert anagram_check(s1='jdfpwvy', s2='sg') == False + + def test_anagram_check_68(self): + assert anagram_check(s1='i', s2='m') == False + + def test_anagram_check_69(self): + assert anagram_check(s1='m', s2='g') == False + + def test_anagram_check_70(self): + assert anagram_check(s1='frncc', s2='lxvsn') == False + + def test_anagram_check_71(self): + assert anagram_check(s1='mwjzqp', s2='czgnpehn') == False + + def test_anagram_check_72(self): + assert anagram_check(s1='xc', s2='sg') == False + + def test_anagram_check_73(self): + assert anagram_check(s1='eb', s2='zzrnoog') == False + + def test_anagram_check_74(self): + assert anagram_check(s1='is', s2='oiwp') == False + + def test_anagram_check_75(self): + assert anagram_check(s1='gcpr', s2='bxto') == False + + def test_anagram_check_76(self): + assert anagram_check(s1='js', s2='ocpiiox') == False + + def test_anagram_check_77(self): + assert anagram_check(s1='ze', s2='vdp') == False + + def test_anagram_check_78(self): + assert anagram_check(s1='zpmr', s2='lrvyck') == False + + def test_anagram_check_79(self): + assert anagram_check(s1='m', s2='xy') == False + + def test_anagram_check_80(self): + assert anagram_check(s1='gdludomrk', s2='utrjdnvtk') == False + + def test_anagram_check_81(self): + assert anagram_check(s1='dwns', s2='ftdv') == False + + def test_anagram_check_82(self): + assert anagram_check(s1='iiimynmts', s2='cjft') == False + + def test_anagram_check_83(self): + assert anagram_check(s1='g', s2='vdoa') == False + + def test_anagram_check_84(self): + assert anagram_check(s1='ilpqxrck', s2='znolqmjlw') == False + + def test_anagram_check_85(self): + assert anagram_check(s1='', s2='zzrnoog') == False + + def test_anagram_check_86(self): + assert anagram_check(s1='jdfpwvy', s2='') == False + + def test_anagram_check_87(self): + assert anagram_check(s1='syad', s2='') == False + + def test_anagram_check_88(self): + assert anagram_check(s1='', s2='vmroguwdi') == False + + def test_anagram_check_89(self): + assert anagram_check(s1='olnymh', s2='ezbivaom') == False + + def test_anagram_check_90(self): + assert anagram_check(s1='hlaplylu', s2='lrk') == False + + def test_anagram_check_91(self): + assert anagram_check(s1='vgooctm', s2='zzrnoog') == False + + def test_anagram_check_92(self): + assert anagram_check(s1='f', s2='feaj') == False + + def test_anagram_check_93(self): + assert anagram_check(s1='obhxgd', s2='') == False + + def test_anagram_check_94(self): + assert anagram_check(s1='copxl', s2='mycb') == False + + def test_anagram_check_95(self): + assert anagram_check(s1='l', s2='x') == False + + def test_anagram_check_96(self): + assert anagram_check(s1='tulzvfub', s2='btimc') == False + + def test_anagram_check_97(self): + assert anagram_check(s1='hna', s2='lrvyck') == False + + def test_anagram_check_98(self): + assert anagram_check(s1='oiilgmvdw', s2='af') == False + + def test_anagram_check_99(self): + assert anagram_check(s1='vnx', s2='rbb') == False + + def test_anagram_check_100(self): + assert anagram_check(s1='ctycslewe', s2='hnqmnppsp') == False \ No newline at end of file diff --git a/tests/cd_count_instrumented.py b/tests/cd_count_instrumented.py new file mode 100644 index 0000000..7ea0a27 --- /dev/null +++ b/tests/cd_count_instrumented.py @@ -0,0 +1,308 @@ +from unittest import TestCase + +from benchmark.common_divisor_count import cd_count + + +class Test_cd_count(TestCase): + def test_cd_count_1(self): + assert cd_count(a=584, b=-345) == 1 + + def test_cd_count_2(self): + assert cd_count(a=-712, b=-668) == 3 + + def test_cd_count_3(self): + assert cd_count(a=975, b=-510) == 4 + + def test_cd_count_4(self): + assert cd_count(a=-610, b=-557) == 1 + + def test_cd_count_5(self): + assert cd_count(a=176, b=400) == 5 + + def test_cd_count_6(self): + assert cd_count(a=308, b=-472) == 3 + + def test_cd_count_7(self): + assert cd_count(a=-330, b=778) == 2 + + def test_cd_count_8(self): + assert cd_count(a=-271, b=212) == 1 + + def test_cd_count_9(self): + assert cd_count(a=-841, b=-15) == 1 + + def test_cd_count_10(self): + assert cd_count(a=993, b=450) == 2 + + def test_cd_count_11(self): + assert cd_count(a=-939, b=495) == 2 + + def test_cd_count_12(self): + assert cd_count(a=322, b=545) == 1 + + def test_cd_count_13(self): + assert cd_count(a=325, b=-464) == 1 + + def test_cd_count_14(self): + assert cd_count(a=-415, b=109) == 1 + + def test_cd_count_15(self): + assert cd_count(a=388, b=302) == 2 + + def test_cd_count_16(self): + assert cd_count(a=-120, b=-61) == 1 + + def test_cd_count_17(self): + assert cd_count(a=-402, b=164) == 2 + + def test_cd_count_18(self): + assert cd_count(a=-315, b=257) == 1 + + def test_cd_count_19(self): + assert cd_count(a=-994, b=-955) == 1 + + def test_cd_count_20(self): + assert cd_count(a=611, b=-113) == 1 + + def test_cd_count_21(self): + assert cd_count(a=821, b=550) == 1 + + def test_cd_count_22(self): + assert cd_count(a=-404, b=960) == 3 + + def test_cd_count_23(self): + assert cd_count(a=162, b=-422) == 2 + + def test_cd_count_24(self): + assert cd_count(a=940, b=741) == 1 + + def test_cd_count_25(self): + assert cd_count(a=12, b=-270) == 4 + + def test_cd_count_26(self): + assert cd_count(a=-490, b=-403) == 1 + + def test_cd_count_27(self): + assert cd_count(a=-87, b=-270) == 2 + + def test_cd_count_28(self): + assert cd_count(a=-362, b=-406) == 2 + + def test_cd_count_29(self): + assert cd_count(a=328, b=-291) == 1 + + def test_cd_count_30(self): + assert cd_count(a=457, b=328) == 1 + + def test_cd_count_31(self): + assert cd_count(a=-837, b=-349) == 1 + + def test_cd_count_32(self): + assert cd_count(a=27, b=-391) == 1 + + def test_cd_count_33(self): + assert cd_count(a=-417, b=-969) == 2 + + def test_cd_count_34(self): + assert cd_count(a=-529, b=-472) == 1 + + def test_cd_count_35(self): + assert cd_count(a=-109, b=-69) == 1 + + def test_cd_count_36(self): + assert cd_count(a=961, b=105) == 1 + + def test_cd_count_37(self): + assert cd_count(a=-669, b=-16) == 1 + + def test_cd_count_38(self): + assert cd_count(a=-932, b=284) == 3 + + def test_cd_count_39(self): + assert cd_count(a=164, b=-438) == 2 + + def test_cd_count_40(self): + assert cd_count(a=-652, b=215) == 1 + + def test_cd_count_41(self): + assert cd_count(a=-925, b=-731) == 1 + + def test_cd_count_42(self): + assert cd_count(a=751, b=-61) == 1 + + def test_cd_count_43(self): + assert cd_count(a=-101, b=-24) == 1 + + def test_cd_count_44(self): + assert cd_count(a=397, b=-482) == 1 + + def test_cd_count_45(self): + assert cd_count(a=216, b=701) == 1 + + def test_cd_count_46(self): + assert cd_count(a=-937, b=-668) == 1 + + def test_cd_count_47(self): + assert cd_count(a=628, b=-490) == 2 + + def test_cd_count_48(self): + assert cd_count(a=127, b=969) == 1 + + def test_cd_count_49(self): + assert cd_count(a=297, b=382) == 1 + + def test_cd_count_50(self): + assert cd_count(a=-290, b=104) == 2 + + def test_cd_count_51(self): + assert cd_count(a=-68, b=-878) == 2 + + def test_cd_count_52(self): + assert cd_count(a=81, b=-13) == 1 + + def test_cd_count_53(self): + assert cd_count(a=930, b=288) == 4 + + def test_cd_count_54(self): + assert cd_count(a=943, b=-700) == 1 + + def test_cd_count_55(self): + assert cd_count(a=-669, b=-422) == 1 + + def test_cd_count_56(self): + assert cd_count(a=-528, b=763) == 1 + + def test_cd_count_57(self): + assert cd_count(a=735, b=154) == 2 + + def test_cd_count_58(self): + assert cd_count(a=341, b=-332) == 1 + + def test_cd_count_59(self): + assert cd_count(a=-62, b=-332) == 2 + + def test_cd_count_60(self): + assert cd_count(a=-271, b=580) == 1 + + def test_cd_count_61(self): + assert cd_count(a=-440, b=-186) == 2 + + def test_cd_count_62(self): + assert cd_count(a=260, b=-956) == 3 + + def test_cd_count_63(self): + assert cd_count(a=-625, b=457) == 1 + + def test_cd_count_64(self): + assert cd_count(a=-483, b=-400) == 1 + + def test_cd_count_65(self): + assert cd_count(a=-319, b=137) == 1 + + def test_cd_count_66(self): + assert cd_count(a=-972, b=-931) == 1 + + def test_cd_count_67(self): + assert cd_count(a=-285, b=940) == 2 + + def test_cd_count_68(self): + assert cd_count(a=-434, b=-581) == 2 + + def test_cd_count_69(self): + assert cd_count(a=-529, b=-666) == 1 + + def test_cd_count_70(self): + assert cd_count(a=948, b=763) == 1 + + def test_cd_count_71(self): + assert cd_count(a=-660, b=-657) == 2 + + def test_cd_count_72(self): + assert cd_count(a=-816, b=-241) == 1 + + def test_cd_count_73(self): + assert cd_count(a=524, b=594) == 2 + + def test_cd_count_74(self): + assert cd_count(a=-14, b=743) == 1 + + def test_cd_count_75(self): + assert cd_count(a=745, b=-80) == 2 + + def test_cd_count_76(self): + assert cd_count(a=493, b=504) == 1 + + def test_cd_count_77(self): + assert cd_count(a=-170, b=-232) == 2 + + def test_cd_count_78(self): + assert cd_count(a=28, b=-804) == 3 + + def test_cd_count_79(self): + assert cd_count(a=221, b=212) == 1 + + def test_cd_count_80(self): + assert cd_count(a=994, b=-397) == 1 + + def test_cd_count_81(self): + assert cd_count(a=-902, b=193) == 1 + + def test_cd_count_82(self): + assert cd_count(a=221, b=580) == 1 + + def test_cd_count_83(self): + assert cd_count(a=-953, b=312) == 1 + + def test_cd_count_84(self): + assert cd_count(a=-21, b=-927) == 2 + + def test_cd_count_85(self): + assert cd_count(a=-944, b=-658) == 2 + + def test_cd_count_86(self): + assert cd_count(a=750, b=-290) == 4 + + def test_cd_count_87(self): + assert cd_count(a=-554, b=931) == 1 + + def test_cd_count_88(self): + assert cd_count(a=-534, b=-763) == 1 + + def test_cd_count_89(self): + assert cd_count(a=237, b=447) == 2 + + def test_cd_count_90(self): + assert cd_count(a=-221, b=829) == 1 + + def test_cd_count_91(self): + assert cd_count(a=-649, b=273) == 1 + + def test_cd_count_92(self): + assert cd_count(a=276, b=-612) == 6 + + def test_cd_count_93(self): + assert cd_count(a=653, b=-567) == 1 + + def test_cd_count_94(self): + assert cd_count(a=447, b=-227) == 1 + + def test_cd_count_95(self): + assert cd_count(a=-217, b=-767) == 1 + + def test_cd_count_96(self): + assert cd_count(a=820, b=-622) == 2 + + def test_cd_count_97(self): + assert cd_count(a=-640, b=-892) == 3 + + def test_cd_count_98(self): + assert cd_count(a=-222, b=209) == 1 + + def test_cd_count_99(self): + assert cd_count(a=-100, b=-89) == 1 + + def test_cd_count_100(self): + assert cd_count(a=820, b=-332) == 3 + + def test_cd_count_101(self): + assert cd_count(a=-902, b=814) == 4 \ No newline at end of file diff --git a/tests/check_armstrong_instrumented.py b/tests/check_armstrong_instrumented.py new file mode 100644 index 0000000..04bf5c8 --- /dev/null +++ b/tests/check_armstrong_instrumented.py @@ -0,0 +1,305 @@ +from unittest import TestCase + +from benchmark.check_armstrong import check_armstrong + + +class Test_check_armstrong(TestCase): + def test_check_armstrong_1(self): + assert check_armstrong(n=793) == False + + def test_check_armstrong_2(self): + assert check_armstrong(n=561) == False + + def test_check_armstrong_3(self): + assert check_armstrong(n=191) == False + + def test_check_armstrong_4(self): + assert check_armstrong(n=443) == False + + def test_check_armstrong_5(self): + assert check_armstrong(n=616) == False + + def test_check_armstrong_6(self): + assert check_armstrong(n=266) == False + + def test_check_armstrong_7(self): + assert check_armstrong(n=875) == False + + def test_check_armstrong_8(self): + assert check_armstrong(n=570) == False + + def test_check_armstrong_9(self): + assert check_armstrong(n=293) == False + + def test_check_armstrong_10(self): + assert check_armstrong(n=927) == False + + def test_check_armstrong_11(self): + assert check_armstrong(n=395) == False + + def test_check_armstrong_12(self): + assert check_armstrong(n=552) == False + + def test_check_armstrong_13(self): + assert check_armstrong(n=589) == False + + def test_check_armstrong_14(self): + assert check_armstrong(n=991) == False + + def test_check_armstrong_15(self): + assert check_armstrong(n=334) == False + + def test_check_armstrong_16(self): + assert check_armstrong(n=890) == False + + def test_check_armstrong_17(self): + assert check_armstrong(n=811) == False + + def test_check_armstrong_18(self): + assert check_armstrong(n=544) == False + + def test_check_armstrong_19(self): + assert check_armstrong(n=312) == False + + def test_check_armstrong_20(self): + assert check_armstrong(n=939) == False + + def test_check_armstrong_21(self): + assert check_armstrong(n=8) == False + + def test_check_armstrong_22(self): + assert check_armstrong(n=796) == False + + def test_check_armstrong_23(self): + assert check_armstrong(n=532) == False + + def test_check_armstrong_24(self): + assert check_armstrong(n=599) == False + + def test_check_armstrong_25(self): + assert check_armstrong(n=742) == False + + def test_check_armstrong_26(self): + assert check_armstrong(n=64) == False + + def test_check_armstrong_27(self): + assert check_armstrong(n=807) == False + + def test_check_armstrong_28(self): + assert check_armstrong(n=648) == False + + def test_check_armstrong_29(self): + assert check_armstrong(n=697) == False + + def test_check_armstrong_30(self): + assert check_armstrong(n=505) == False + + def test_check_armstrong_31(self): + assert check_armstrong(n=290) == False + + def test_check_armstrong_32(self): + assert check_armstrong(n=428) == False + + def test_check_armstrong_33(self): + assert check_armstrong(n=545) == False + + def test_check_armstrong_34(self): + assert check_armstrong(n=925) == False + + def test_check_armstrong_35(self): + assert check_armstrong(n=317) == False + + def test_check_armstrong_36(self): + assert check_armstrong(n=410) == False + + def test_check_armstrong_37(self): + assert check_armstrong(n=692) == False + + def test_check_armstrong_38(self): + assert check_armstrong(n=53) == False + + def test_check_armstrong_39(self): + assert check_armstrong(n=722) == False + + def test_check_armstrong_40(self): + assert check_armstrong(n=73) == False + + def test_check_armstrong_41(self): + assert check_armstrong(n=718) == False + + def test_check_armstrong_42(self): + assert check_armstrong(n=816) == False + + def test_check_armstrong_43(self): + assert check_armstrong(n=872) == False + + def test_check_armstrong_44(self): + assert check_armstrong(n=474) == False + + def test_check_armstrong_45(self): + assert check_armstrong(n=859) == False + + def test_check_armstrong_46(self): + assert check_armstrong(n=189) == False + + def test_check_armstrong_47(self): + assert check_armstrong(n=926) == False + + def test_check_armstrong_48(self): + assert check_armstrong(n=39) == False + + def test_check_armstrong_49(self): + assert check_armstrong(n=232) == False + + def test_check_armstrong_50(self): + assert check_armstrong(n=605) == False + + def test_check_armstrong_51(self): + assert check_armstrong(n=287) == False + + def test_check_armstrong_52(self): + assert check_armstrong(n=587) == False + + def test_check_armstrong_53(self): + assert check_armstrong(n=368) == False + + def test_check_armstrong_54(self): + assert check_armstrong(n=818) == False + + def test_check_armstrong_55(self): + assert check_armstrong(n=186) == False + + def test_check_armstrong_56(self): + assert check_armstrong(n=430) == False + + def test_check_armstrong_57(self): + assert check_armstrong(n=846) == False + + def test_check_armstrong_58(self): + assert check_armstrong(n=298) == False + + def test_check_armstrong_59(self): + assert check_armstrong(n=624) == False + + def test_check_armstrong_60(self): + assert check_armstrong(n=198) == False + + def test_check_armstrong_61(self): + assert check_armstrong(n=625) == False + + def test_check_armstrong_62(self): + assert check_armstrong(n=659) == False + + def test_check_armstrong_63(self): + assert check_armstrong(n=802) == False + + def test_check_armstrong_64(self): + assert check_armstrong(n=448) == False + + def test_check_armstrong_65(self): + assert check_armstrong(n=754) == False + + def test_check_armstrong_66(self): + assert check_armstrong(n=173) == False + + def test_check_armstrong_67(self): + assert check_armstrong(n=964) == False + + def test_check_armstrong_68(self): + assert check_armstrong(n=642) == False + + def test_check_armstrong_69(self): + assert check_armstrong(n=193) == False + + def test_check_armstrong_70(self): + assert check_armstrong(n=327) == False + + def test_check_armstrong_71(self): + assert check_armstrong(n=155) == False + + def test_check_armstrong_72(self): + assert check_armstrong(n=339) == False + + def test_check_armstrong_73(self): + assert check_armstrong(n=730) == False + + def test_check_armstrong_74(self): + assert check_armstrong(n=799) == False + + def test_check_armstrong_75(self): + assert check_armstrong(n=839) == False + + def test_check_armstrong_76(self): + assert check_armstrong(n=582) == False + + def test_check_armstrong_77(self): + assert check_armstrong(n=5) == False + + def test_check_armstrong_78(self): + assert check_armstrong(n=145) == False + + def test_check_armstrong_79(self): + assert check_armstrong(n=714) == False + + def test_check_armstrong_80(self): + assert check_armstrong(n=591) == False + + def test_check_armstrong_81(self): + assert check_armstrong(n=256) == False + + def test_check_armstrong_82(self): + assert check_armstrong(n=579) == False + + def test_check_armstrong_83(self): + assert check_armstrong(n=390) == False + + def test_check_armstrong_84(self): + assert check_armstrong(n=608) == False + + def test_check_armstrong_85(self): + assert check_armstrong(n=656) == False + + def test_check_armstrong_86(self): + assert check_armstrong(n=281) == False + + def test_check_armstrong_87(self): + assert check_armstrong(n=812) == False + + def test_check_armstrong_88(self): + assert check_armstrong(n=669) == False + + def test_check_armstrong_89(self): + assert check_armstrong(n=194) == False + + def test_check_armstrong_90(self): + assert check_armstrong(n=840) == False + + def test_check_armstrong_91(self): + assert check_armstrong(n=26) == False + + def test_check_armstrong_92(self): + assert check_armstrong(n=972) == False + + def test_check_armstrong_93(self): + assert check_armstrong(n=858) == False + + def test_check_armstrong_94(self): + assert check_armstrong(n=803) == False + + def test_check_armstrong_95(self): + assert check_armstrong(n=696) == False + + def test_check_armstrong_96(self): + assert check_armstrong(n=705) == False + + def test_check_armstrong_97(self): + assert check_armstrong(n=185) == False + + def test_check_armstrong_98(self): + assert check_armstrong(n=845) == False + + def test_check_armstrong_99(self): + assert check_armstrong(n=986) == False + + def test_check_armstrong_100(self): + assert check_armstrong(n=49) == False \ No newline at end of file diff --git a/tests/decrypt_instrumented.py b/tests/decrypt_instrumented.py new file mode 100644 index 0000000..a602c7f --- /dev/null +++ b/tests/decrypt_instrumented.py @@ -0,0 +1,305 @@ +from unittest import TestCase + +from benchmark.caesar_cipher import decrypt + + +class Test_decrypt(TestCase): + def test_decrypt_1(self): + assert decrypt(strng='uemax', key=94) == 'vfnby' + + def test_decrypt_2(self): + assert decrypt(strng='bqomll', key=36) == '>MKIHH' + + def test_decrypt_3(self): + assert decrypt(strng='n', key=84) == 'y' + + def test_decrypt_4(self): + assert decrypt(strng='qplae', key=8) == 'ihdY]' + + def test_decrypt_5(self): + assert decrypt(strng='cjswzqb', key=25) == 'JQZ^aXI' + + def test_decrypt_6(self): + assert decrypt(strng='undhcdx', key=7) == 'ng]a\]q' + + def test_decrypt_7(self): + assert decrypt(strng='qnij', key=8) == 'ifab' + + def test_decrypt_8(self): + assert decrypt(strng='', key=25) == '' + + def test_decrypt_9(self): + assert decrypt(strng='s', key=64) == '3' + + def test_decrypt_10(self): + assert decrypt(strng='ycrvcrxqm', key=8) == 'q[jn[jpie' + + def test_decrypt_11(self): + assert decrypt(strng='gjc', key=7) == '`c\' + + def test_decrypt_12(self): + assert decrypt(strng='vrhusl', key=42) == 'LH>KIB' + + def test_decrypt_13(self): + assert decrypt(strng='nfoatk', key=16) == '^V_Qd[' + + def test_decrypt_14(self): + assert decrypt(strng='lefd', key=65) == '+$%#' + + def test_decrypt_15(self): + assert decrypt(strng='i', key=33) == 'H' + + def test_decrypt_16(self): + assert decrypt(strng='nhzp', key=23) == 'WQcY' + + def test_decrypt_17(self): + assert decrypt(strng='orelzml', key=8) == 'gj]dred' + + def test_decrypt_18(self): + assert decrypt(strng='qoysx', key=16) == 'a_ich' + + def test_decrypt_19(self): + assert decrypt(strng='iiyccs', key=88) == 'pp!jjz' + + def test_decrypt_20(self): + assert decrypt(strng='suy', key=8) == 'kmq' + + def test_decrypt_21(self): + assert decrypt(strng='', key=64) == '' + + def test_decrypt_22(self): + assert decrypt(strng='ltmuk', key=70) == '&.'/%' + + def test_decrypt_23(self): + assert decrypt(strng='asdr', key=86) == 'j|m{' + + def test_decrypt_24(self): + assert decrypt(strng='qvuct', key=70) == '+0/|.' + + def test_decrypt_25(self): + assert decrypt(strng='vvar', key=9) == 'mmXi' + + def test_decrypt_26(self): + assert decrypt(strng='io', key=12) == ']c' + + def test_decrypt_27(self): + assert decrypt(strng='ndcdufqp', key=16) == '^TSTeVa`' + + def test_decrypt_28(self): + assert decrypt(strng='', key=9) == '' + + def test_decrypt_29(self): + assert decrypt(strng='eyrfthe', key=66) == '#70$2&#' + + def test_decrypt_30(self): + assert decrypt(strng='fe', key=16) == 'VU' + + def test_decrypt_31(self): + assert decrypt(strng='suotnq', key=88) == 'z|v{ux' + + def test_decrypt_32(self): + assert decrypt(strng='fvxyg', key=68) == '"245#' + + def test_decrypt_33(self): + assert decrypt(strng='ynxkvoezx', key=84) == '%y$v"zp&$' + + def test_decrypt_34(self): + assert decrypt(strng='yijtuk', key=88) == '!pq{|r' + + def test_decrypt_35(self): + assert decrypt(strng='xiesmuu', key=88) == ' plzt||' + + def test_decrypt_36(self): + assert decrypt(strng='bps', key=7) == '[il' + + def test_decrypt_37(self): + assert decrypt(strng='mqtjratff', key=8) == 'eilbjYl^^' + + def test_decrypt_38(self): + assert decrypt(strng='xenbpjg', key=57) == '?,5)71.' + + def test_decrypt_39(self): + assert decrypt(strng='jpvut', key=7) == 'cionm' + + def test_decrypt_40(self): + assert decrypt(strng='hyd', key=71) == '!2|' + + def test_decrypt_41(self): + assert decrypt(strng='iv', key=25) == 'P]' + + def test_decrypt_42(self): + assert decrypt(strng='jjhaxlrui', key=7) == 'ccaZqeknb' + + def test_decrypt_43(self): + assert decrypt(strng='', key=68) == '' + + def test_decrypt_44(self): + assert decrypt(strng='cnyszzm', key=88) == 'ju!z""t' + + def test_decrypt_45(self): + assert decrypt(strng='sxvopkf', key=88) == 'z }vwrm' + + def test_decrypt_46(self): + assert decrypt(strng='g', key=22) == 'Q' + + def test_decrypt_47(self): + assert decrypt(strng='fe', key=64) == '&%' + + def test_decrypt_48(self): + assert decrypt(strng='lu', key=8) == 'dm' + + def test_decrypt_49(self): + assert decrypt(strng='bqomll', key=68) == '}-+)((' + + def test_decrypt_50(self): + assert decrypt(strng='ifsfdpps', key=8) == 'a^k^\hhk' + + def test_decrypt_51(self): + assert decrypt(strng='', key=7) == '' + + def test_decrypt_52(self): + assert decrypt(strng='nlhv', key=42) == 'DB>L' + + def test_decrypt_53(self): + assert decrypt(strng='z', key=71) == '3' + + def test_decrypt_54(self): + assert decrypt(strng='uj', key=84) == '!u' + + def test_decrypt_55(self): + assert decrypt(strng='xn', key=16) == 'h^' + + def test_decrypt_56(self): + assert decrypt(strng='k', key=9) == 'b' + + def test_decrypt_57(self): + assert decrypt(strng='yijtuk', key=9) == 'p`aklb' + + def test_decrypt_58(self): + assert decrypt(strng='', key=8) == '' + + def test_decrypt_59(self): + assert decrypt(strng='ng', key=6) == 'ha' + + def test_decrypt_60(self): + assert decrypt(strng='', key=16) == '' + + def test_decrypt_61(self): + assert decrypt(strng='hyd', key=79) == 'x*t' + + def test_decrypt_62(self): + assert decrypt(strng='ajm', key=7) == 'Zcf' + + def test_decrypt_63(self): + assert decrypt(strng='fxtmd', key=64) == '&84-$' + + def test_decrypt_64(self): + assert decrypt(strng='nhbng', key=28) == 'RLFRK' + + def test_decrypt_65(self): + assert decrypt(strng='', key=37) == '' + + def test_decrypt_66(self): + assert decrypt(strng='vcuavuh', key=16) == 'fSeQfeX' + + def test_decrypt_67(self): + assert decrypt(strng='zf', key=94) == '{g' + + def test_decrypt_68(self): + assert decrypt(strng='wcuk', key=16) == 'gSe[' + + def test_decrypt_69(self): + assert decrypt(strng='hzukmqalf', key=18) == 'VhcY[_OZT' + + def test_decrypt_70(self): + assert decrypt(strng='vgqku', key=64) == '6'1+5' + + def test_decrypt_71(self): + assert decrypt(strng='z', key=25) == 'a' + + def test_decrypt_72(self): + assert decrypt(strng='ncfcb', key=92) == 'qfife' + + def test_decrypt_73(self): + assert decrypt(strng='hufke', key=93) == 'jwhmg' + + def test_decrypt_74(self): + assert decrypt(strng='tkqfyer', key=86) == '}tzo#n{' + + def test_decrypt_75(self): + assert decrypt(strng='jvkch', key=7) == 'cod\a' + + def test_decrypt_76(self): + assert decrypt(strng='ymtvwqy', key=64) == '9-46719' + + def test_decrypt_77(self): + assert decrypt(strng='yi', key=8) == 'qa' + + def test_decrypt_78(self): + assert decrypt(strng='h', key=16) == 'X' + + def test_decrypt_79(self): + assert decrypt(strng='vdwsaecx', key=16) == 'fTgcQUSh' + + def test_decrypt_80(self): + assert decrypt(strng='pg', key=88) == 'wn' + + def test_decrypt_81(self): + assert decrypt(strng='qjatiobo', key=16) == 'aZQdY_R_' + + def test_decrypt_82(self): + assert decrypt(strng='d', key=16) == 'T' + + def test_decrypt_83(self): + assert decrypt(strng='', key=71) == '' + + def test_decrypt_84(self): + assert decrypt(strng='ucrsnlv', key=84) == '!n}~yw"' + + def test_decrypt_85(self): + assert decrypt(strng='nrosiyzty', key=16) == '^b_cYijdi' + + def test_decrypt_86(self): + assert decrypt(strng='ymij', key=57) == '@401' + + def test_decrypt_87(self): + assert decrypt(strng='zkdsxen', key=58) == '@1*9>+4' + + def test_decrypt_88(self): + assert decrypt(strng='vrhusl', key=46) == 'HD:GE>' + + def test_decrypt_89(self): + assert decrypt(strng='', key=13) == '' + + def test_decrypt_90(self): + assert decrypt(strng='aak', key=16) == 'QQ[' + + def test_decrypt_91(self): + assert decrypt(strng='cfdd', key=70) == '| }}' + + def test_decrypt_92(self): + assert decrypt(strng='', key=36) == '' + + def test_decrypt_93(self): + assert decrypt(strng='n', key=35) == 'K' + + def test_decrypt_94(self): + assert decrypt(strng='', key=46) == '' + + def test_decrypt_95(self): + assert decrypt(strng='cyyejd', key=16) == 'SiiUZT' + + def test_decrypt_96(self): + assert decrypt(strng='wshxl', key=16) == 'gcXh\' + + def test_decrypt_97(self): + assert decrypt(strng='c', key=16) == 'S' + + def test_decrypt_98(self): + assert decrypt(strng='rmquegezy', key=16) == 'b]aeUWUji' + + def test_decrypt_99(self): + assert decrypt(strng='mqtjratff', key=88) == 'tx{qyh{mm' + + def test_decrypt_100(self): + assert decrypt(strng='y', key=13) == 'l' \ No newline at end of file diff --git a/tests/encrypt_instrumented.py b/tests/encrypt_instrumented.py new file mode 100644 index 0000000..3d84111 --- /dev/null +++ b/tests/encrypt_instrumented.py @@ -0,0 +1,305 @@ +from unittest import TestCase + +from benchmark.caesar_cipher import encrypt + + +class Test_encrypt(TestCase): + def test_encrypt_1(self): + assert encrypt(strng='otkoyjjyj', key=35) == '38/3=..=.' + + def test_encrypt_2(self): + assert encrypt(strng='tkr', key=33) == '6-4' + + def test_encrypt_3(self): + assert encrypt(strng='ngmhaz', key=73) == 'XQWRKd' + + def test_encrypt_4(self): + assert encrypt(strng='t', key=7) == '{' + + def test_encrypt_5(self): + assert encrypt(strng='khtfavz', key=29) == ')&2$~48' + + def test_encrypt_6(self): + assert encrypt(strng='gz', key=33) == ')<' + + def test_encrypt_7(self): + assert encrypt(strng='swiada', key=16) == '$(yqtq' + + def test_encrypt_8(self): + assert encrypt(strng='a', key=88) == 'Z' + + def test_encrypt_9(self): + assert encrypt(strng='sdj', key=7) == 'zkq' + + def test_encrypt_10(self): + assert encrypt(strng='rwheldzx', key=80) == 'chYV]Uki' + + def test_encrypt_11(self): + assert encrypt(strng='i', key=33) == '+' + + def test_encrypt_12(self): + assert encrypt(strng='lefd', key=65) == 'NGHF' + + def test_encrypt_13(self): + assert encrypt(strng='nhzp', key=23) == '& 2(' + + def test_encrypt_14(self): + assert encrypt(strng='qtrqhtqw', key=29) == '/20/&2/5' + + def test_encrypt_15(self): + assert encrypt(strng='fb', key=5) == 'kg' + + def test_encrypt_16(self): + assert encrypt(strng='ycrvcrxqm', key=12) == '&o~#o~%}y' + + def test_encrypt_17(self): + assert encrypt(strng='lgnhpcl', key=83) == '`[b\dW`' + + def test_encrypt_18(self): + assert encrypt(strng='wiwqmurt', key=58) == 'RDRLHPMO' + + def test_encrypt_19(self): + assert encrypt(strng='nptfuqy', key=32) == '/15'62:' + + def test_encrypt_20(self): + assert encrypt(strng='ikisysnc', key=46) == '8:8BHB=2' + + def test_encrypt_21(self): + assert encrypt(strng='rxwqdcybl', key=16) == '#)("ts*r|' + + def test_encrypt_22(self): + assert encrypt(strng='hzlozno', key=5) == 'm qt st' + + def test_encrypt_23(self): + assert encrypt(strng='sx', key=81) == 'ej' + + def test_encrypt_24(self): + assert encrypt(strng='fna', key=12) == 'rzm' + + def test_encrypt_25(self): + assert encrypt(strng='wttxonmr', key=73) == 'a^^bYXW\' + + def test_encrypt_26(self): + assert encrypt(strng='xtbwbg', key=12) == '%!n$ns' + + def test_encrypt_27(self): + assert encrypt(strng='yovytul', key=33) == ';18;67.' + + def test_encrypt_28(self): + assert encrypt(strng='vlj', key=73) == '`VT' + + def test_encrypt_29(self): + assert encrypt(strng='iv', key=16) == 'y'' + + def test_encrypt_30(self): + assert encrypt(strng='mnjuyf', key=7) == 'tuq|!m' + + def test_encrypt_31(self): + assert encrypt(strng='io', key=12) == 'u{' + + def test_encrypt_32(self): + assert encrypt(strng='mndoui', key=33) == '/0&17+' + + def test_encrypt_33(self): + assert encrypt(strng='xgnn', key=7) == ' nuu' + + def test_encrypt_34(self): + assert encrypt(strng='tibnavly', key=61) == 'RG@L?TJW' + + def test_encrypt_35(self): + assert encrypt(strng='cmlpeouu', key=18) == 'u ~#w"((' + + def test_encrypt_36(self): + assert encrypt(strng='qplae', key=29) == '/.*~#' + + def test_encrypt_37(self): + assert encrypt(strng='hdmijaois', key=29) == '&"+'(~-'1' + + def test_encrypt_38(self): + assert encrypt(strng='', key=91) == '' + + def test_encrypt_39(self): + assert encrypt(strng='lzgtesfa', key=61) == 'JXERCQD?' + + def test_encrypt_40(self): + assert encrypt(strng='cbio', key=33) == '%$+1' + + def test_encrypt_41(self): + assert encrypt(strng='av', key=33) == '#8' + + def test_encrypt_42(self): + assert encrypt(strng='vpwpcavh', key=29) == '4.5.!~4&' + + def test_encrypt_43(self): + assert encrypt(strng='', key=51) == '' + + def test_encrypt_44(self): + assert encrypt(strng='taf', key=16) == '%qv' + + def test_encrypt_45(self): + assert encrypt(strng='jezuahj', key=29) == '(#83~&(' + + def test_encrypt_46(self): + assert encrypt(strng='ngakdkzv', key=25) == '(!z%}%40' + + def test_encrypt_47(self): + assert encrypt(strng='jaqv', key=33) == ',#38' + + def test_encrypt_48(self): + assert encrypt(strng='i', key=32) == '*' + + def test_encrypt_49(self): + assert encrypt(strng='', key=7) == '' + + def test_encrypt_50(self): + assert encrypt(strng='hyd', key=12) == 't&p' + + def test_encrypt_51(self): + assert encrypt(strng='znlzh', key=58) == 'UIGUC' + + def test_encrypt_52(self): + assert encrypt(strng='qrl', key=29) == '/0*' + + def test_encrypt_53(self): + assert encrypt(strng='kpzh', key=91) == 'glvd' + + def test_encrypt_54(self): + assert encrypt(strng='lhez', key=8) == 'tpm#' + + def test_encrypt_55(self): + assert encrypt(strng='', key=16) == '' + + def test_encrypt_56(self): + assert encrypt(strng='itef', key=65) == 'KVGH' + + def test_encrypt_57(self): + assert encrypt(strng='', key=28) == '' + + def test_encrypt_58(self): + assert encrypt(strng='ogelz', key=91) == 'kcahv' + + def test_encrypt_59(self): + assert encrypt(strng='fc', key=7) == 'mj' + + def test_encrypt_60(self): + assert encrypt(strng='aizzfscky', key=29) == '~'88$1!)7' + + def test_encrypt_61(self): + assert encrypt(strng='fxtmd', key=70) == 'M_[TK' + + def test_encrypt_62(self): + assert encrypt(strng='dmpxcosh', key=91) == '`ilt_kod' + + def test_encrypt_63(self): + assert encrypt(strng='yf', key=32) == ':'' + + def test_encrypt_64(self): + assert encrypt(strng='ploelrh', key=26) == '+'* '-#' + + def test_encrypt_65(self): + assert encrypt(strng='fswmbdzg', key=41) == '0=A7,.D1' + + def test_encrypt_66(self): + assert encrypt(strng='gncmc', key=81) == 'Y`U_U' + + def test_encrypt_67(self): + assert encrypt(strng='awezqrc', key=91) == ']savmn_' + + def test_encrypt_68(self): + assert encrypt(strng='djch', key=8) == 'lrkp' + + def test_encrypt_69(self): + assert encrypt(strng='taow', key=12) == '!m{$' + + def test_encrypt_70(self): + assert encrypt(strng='saxykgf', key=46) == 'B0GH:65' + + def test_encrypt_71(self): + assert encrypt(strng='hopkqpr', key=18) == 'z"#}$#%' + + def test_encrypt_72(self): + assert encrypt(strng='rh', key=16) == '#x' + + def test_encrypt_73(self): + assert encrypt(strng='uiptgxw', key=11) == '!t{ r$#' + + def test_encrypt_74(self): + assert encrypt(strng='jvkch', key=8) == 'r~skp' + + def test_encrypt_75(self): + assert encrypt(strng='ngtygnc', key=40) == '70=B07,' + + def test_encrypt_76(self): + assert encrypt(strng='qoysx', key=8) == 'yw"{!' + + def test_encrypt_77(self): + assert encrypt(strng='', key=71) == '' + + def test_encrypt_78(self): + assert encrypt(strng='cixqt', key=70) == 'JP_X[' + + def test_encrypt_79(self): + assert encrypt(strng='gxzt', key=46) == '6GIC' + + def test_encrypt_80(self): + assert encrypt(strng='md', key=36) == '2)' + + def test_encrypt_81(self): + assert encrypt(strng='luvsycmji', key=29) == '*3417!+('' + + def test_encrypt_82(self): + assert encrypt(strng='zkdsxen', key=58) == 'UF?NS@I' + + def test_encrypt_83(self): + assert encrypt(strng='bqwlc', key=35) == '&5;0'' + + def test_encrypt_84(self): + assert encrypt(strng='gfant', key=25) == '! z(.' + + def test_encrypt_85(self): + assert encrypt(strng='iqrxssoij', key=92) == 'fnoupplfg' + + def test_encrypt_86(self): + assert encrypt(strng='jan', key=46) == '90=' + + def test_encrypt_87(self): + assert encrypt(strng='fuuq', key=13) == 's##~' + + def test_encrypt_88(self): + assert encrypt(strng='a', key=29) == '~' + + def test_encrypt_89(self): + assert encrypt(strng='zmlqkyf', key=42) == 'E87<6D1' + + def test_encrypt_90(self): + assert encrypt(strng='kaimotdh', key=25) == '%z#').}"' + + def test_encrypt_91(self): + assert encrypt(strng='ijsvvi', key=58) == 'DENQQD' + + def test_encrypt_92(self): + assert encrypt(strng='wyzkst', key=91) == 'suvgop' + + def test_encrypt_93(self): + assert encrypt(strng='', key=4) == '' + + def test_encrypt_94(self): + assert encrypt(strng='mthw', key=33) == '/6*9' + + def test_encrypt_95(self): + assert encrypt(strng='a', key=73) == 'K' + + def test_encrypt_96(self): + assert encrypt(strng='jmnbazu', key=33) == ',/0$#<7' + + def test_encrypt_97(self): + assert encrypt(strng='olhwe', key=88) == 'heap^' + + def test_encrypt_98(self): + assert encrypt(strng='pxd', key=33) == '2:&' + + def test_encrypt_99(self): + assert encrypt(strng='gvlgx', key=48) == '8G=8I' + + def test_encrypt_100(self): + assert encrypt(strng='ci', key=7) == 'jp' \ No newline at end of file diff --git a/tests/exponentiation_instrumented.py b/tests/exponentiation_instrumented.py new file mode 100644 index 0000000..ae9c8a5 --- /dev/null +++ b/tests/exponentiation_instrumented.py @@ -0,0 +1,305 @@ +from unittest import TestCase + +from benchmark.exponentiation import exponentiation + + +class Test_exponentiation(TestCase): + def test_exponentiation_1(self): + assert exponentiation(baseNumber=-129, power=466) == 342613916520039815286371762900720714962853712596187110376222844854489337611539297494082419731738373111073093328480529494540713335250345393330330167113610677158149923868820842907209984331974554634008584446423660742464197584085121365572588978267575935406526083265689003679684419271807250480728530679692471674609982119156884077318070369305233461839622800467393902027558664921081270452968643917536571429098740113970593496001472183095052421817237657154468140863125416421270130300425026525077419205555731360504160584686852878615583365811927655574900634604326505687823202130508808320135469109573948312795729498776978327881313563260743210117957813876900330534537578936390270392256074256124181925683934379635403067034791374128824724096981954069209015841805213461602849629531507687663550865254604112195504645584441372365616824116905124867370027153969846486392434814149651686110937101602506060245366533649834892837889496785601253048343379775419721460703193387205348331473092196848141285284849921 + + def test_exponentiation_2(self): + assert exponentiation(baseNumber=-671, power=958) == 100040147156359022208677847777053117328116092723921829867533144182489530560991518949647087104207037463745690671679789352240140965996950419399687236231139784960121761966212716084465319168503866303492078636637029811544659888020607912568676145790196684690686528118409056390639109746745214775161215395206050160168826017444043425313098780677051009183181286541047256497810644465267124085441848686403471452819442706964725086552690487121052165908422352317112647149519266746446556850324034727451655655525506862968044010275205234239340539338326336496549894913182487406633411646064852226758530890262559493134193131431207153257227614870397357743330545197368379361675451212140176751843153111470025972802134814524276725375662076018477343377065792041966678259851376534535386647077976019955242943104002528515366511995132572412018592329720853297049984143607016777043255062040301001501784470748749555469800205643345939832179255595967436499843284785169370221080772015925180423339933147853901213786598153562983003675850428587159442134137607368721362467453201649616138106991125581622894147823390849991281094264818145428366616981473818171750162030449480581902343060521484014245189968125165172023682929949317122074507030942334034491372227866135893873736347628715529876940445923878113760240400964843629764778678816119262425877599354577445416253468573333925146541777422873684543833369657742957737190251024470104016844900664747568793549170172380413069861342023046263020805080149643502193929829766985791880624149209210552194356693406552527727875767138866398015847260251556756668895083077570908150368305923923986167611029838781730693153603458062808409333867243400320696453288006165669508210368290996483322320562791736831600231907453957811806002587974421188081187488375763296291932481957892364469842439006373056319693830188522204990251139117876681192906644284659016357901905217928568857551993227369694356266182213890606110887462983897520641594626019749291164716408485465157558168802199055275350594075289415286984090761873665079452695001816419909846076393894213319761675933651472605051794148396702251157961948649208553360001680336852844327898382200432608263836673693407307568712777450176712460399486109917689778946147633310625356406377029405067225273267348486088238522823730475313214183661789863617964392716500918704188087492374406021283961304163495296715321816666412885978000532444064854169778073198957369291474258038846812081245392805632592902026580203538348347942356143153446132392177781460857865679984458122961923199867219869981058150275250918032944004353931528223050363261884952687136225755422183055271575448696296473066977220705784163083762915492242727131817885364265349415829250357199882643382764589116663413600275281620973641226561 + + def test_exponentiation_3(self): + assert exponentiation(baseNumber=-824, power=444) == 46955016070247636661758934496003125036138822470387773275449537878833361015274487944921813254279548407142210752004912123855030598244370068695331133430002501826171223545332940656981499596250880848697488039381490607355141110795905753592786533242815554426730528649524987356588708765662623322581029621575499552514373606087010339599726500944873143402887083791418069119906241172653898552782316233267485419080015548791465363339739358628876081503917063059076983520344743050407336052306023676561928251241560763943832478060224588687489244015800909081879320395303760774102119770363228609166693260978862425560363064875826540779995320020553316999509740868760950885893006248315067829095194644278639833091122064404573156790596385346938453485586100184343545512519167167325172452613424564568715411886539777241658979482958196757723592563995750677377306891186753820198600468853520884622355474087262147247031015480364318716423045955784047239051874851391101637789199135409186073323546664451329236842569659331922613148110304729778092679628042865094926105744531669888678747553086737775997182774305832382354579911107506702416015451799657309761281523527769902062611668268426266296986847834859162304453564749864771998483388435800385029173567893176286045111196741543170584142040072693593654841403632847184746766329578520576 + + def test_exponentiation_4(self): + assert exponentiation(baseNumber=621, power=199) == 6686955531564945127560882574338230466885268614475543277272449598424603258854617676820007554265449540747656581035163209262353750394070753681944799139718421765150881810361180736553876705534166629485850188782693301875588528834555552320774479394891650112471582864376114226925640294982454309674314913271497389264002514796192574461587445570816994114608101167039979302895450896369105373831963825523213814183254733415956036476334463397599973876427346492577746300654210838189040305434433729581651577260666184470711176637039683458922010239365030668677314070820619781 + + def test_exponentiation_5(self): + assert exponentiation(baseNumber=-620, power=613) == -54463514467700615992523496378551008014378179619965562525932868566632326450063279758274066396202151565089675802048570673590622294682664458979562080177455344779220863599870950188368611884188260986781227709799454845528565254145680010352793267219390492949575698540181750962240346215454803956441770124318379788100393427711798961382374280798513472724264431528235138536841713421927827772605888797159078810005452270125094393962547357169343991255487121352311667338674513820910664460251542447898819562091192149643397575151343670506003519913673067281248673510912328321085380361351501625539914319762272049377990707144034078119372688237889485150169687873583358370196065135040312323528467601187574954906365384335707613886529302118064331288408383293785919880240191733141888693232041244547328340935202681281356061897954243172338417308257685496783269620683028514452702805805302606825111403496879918827689035222711613027779320654696951994299568131487890869877091382390880711189566428781249653360083048726061188365816845181103522904916301499197057148632275772231530643123716245563299599915925288093248335766472066334720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + + def test_exponentiation_6(self): + assert exponentiation(baseNumber=867, power=408) == 51498166885938234689564619057152583962163775064611538126770462994948844660019418328669667886659784652133188709259635147690923901005523909013234589575447474624922015566241524625628516057632626576566339038697334713277600311486577374770470410511899423618057504980461542326516669564892084217776435177274106337008768881391040863113653792785500626590669123522215313559300757733913672266860167206270724681190864276461399777407502800218084229454693220717680068499819144848262355893771420055946136248005399726394649606627376350177278528486826398189101583258032376630089959167118915717243403174254132104617787361341925531849857620352184232002843495160004901626213515920702899095973228116111894744800233977972551193733000121933740608456746640836148031329591890969391118214193273244710121763773411034269248890828628820137432167979979235630776412854271734956686494901907900839969109480061083704673029444579105702014918430772833967714784834179393514634481618290865344566469312523682639024860612482684748495086479873594884420371952510942083718588480144793112709289726208837437874413470001363190110377415359278714554697007136384946985288187174662813677091280571483175315299654190030647097580620274676359304238735841 + + def test_exponentiation_7(self): + assert exponentiation(baseNumber=437, power=423) == 8387795595653897157200888415200751971171555915797743095456796509534103642783601494817606816162224957911631629818103590041266854890681937461812621378469906298907409760294300778981930569627316333199685825747590693284434101730170652920705941663280259625778339193167485780053544544705809367208609656775395886201658052245765500595686781831133345506511593276768825662703470891015162272115266667389227161375129332067972228846785264392311315973815005230340890231423300832696959681003538100707414200951026995686775624326348173013126513917104323121305515603741601129780325416689177721470382252269107347182354121493060253823380090857050746188677854180468003975593261055736317404741970002230457519495841765643820737852908805994483789192566745196630975494936107235980139726455240122539961207405366232060247391259955619313636720339075614453929168627353693552904143506657391100658233956803813524846504350138008824666423714464397219839142311201325200972024041415872998036276416682876844907812749733134506104221895536933611653435506636729279730775228521426635547685160582829746914619519265198198921503263105303721882267052311404473853 + + def test_exponentiation_8(self): + assert exponentiation(baseNumber=-969, power=188) == 2684541274300599153501824177179503898116756305290561986743763777542026475064668663572017245285667167497223843631751863737282332735802552223405921041879217953559364542515442007298735479322158640638167748433392042503135781318036725254685638313017750361617804092575139893353800205868240802434136405094876708693956686098517213416709093865776967487871204328872144955379917389387462047558886818583024022792630798043714537305753356221259228518478434455899642619416394507998259395080774049166488141415113246761745222828328632100448122547312311877170060302296693302079841 + + def test_exponentiation_9(self): + assert exponentiation(baseNumber=-533, power=193) == -18128060508616083225386412181072695481915611333163890343818093585289514787549781214834531390380712251088687959524525272917561642808886545111192882273864424526368321085997391613329793293248367169281737491649359115861420978923351971067256413355811250611783348625334278229411246407832069491453030629017945773998719663508686464324279614546027765552071896249023839584671332329300176524941996667072432381986040095747147589884167773365932115445411912581011102769660829824424813305824039231446746429867362677152234765336007035834011413 + + def test_exponentiation_10(self): + assert exponentiation(baseNumber=113, power=981) == 11747705674649256439347490279237155097641094433409452311883176739429841680039065821920024868450661668094655777577873741590415303774848850342841439763443486818783294463847042595338907820492979091872920508022022029930001127697180238776931781152554313133067637449203378773380360083787438409401172164082072445045330260542616186591615006060475821718052846828953025871357088976328960892322649873990977181726419683628759192484661459600726326729937666933289661989111313772859189977984508461627811847197937551358403034535043511995209072883329943269058907996767249534671290778013242174735345754322292185244401834705628699702401394732056862158611337721399390723030710347593744996530536524095015079492459041336420823744573796979824218217444393093060122539333897047904966991148624653353166692918452499919637079791376961685626114676605022651199938681243276893564153470750953148144646072759462097898276763350011869308147913955950118660124732213195487956277506364637712971316397113814144161682125010012224233675848199247902294688294570307991238463651363674288555774866902359337387925279798849291292653873119737100327477253695637549104366125311283813377720119094939895158634173013597644143519297433365514191472230014091241282355705095087748481720760026456273595434666495090290142740288067687595010347681544696607804248521459239614976803979076489330894054966397946163380373040330353476253513438322938790891659787081213666156876658888584169525579850989461584023538255407616156294451843690494775286749976325494935728194518751052271124606803076522290114730262285547249666970741788493090985250931952970418007463596852106123903790225190105124507980701683695369866717928439626309186214390411709390646435624776869598665619266527893382953137698770018644514204807784904414687596710243345786757522228750431039584528284500202723789009232707144776687265335985978733597100910605928973275047221418728769476567119825009281043373989192455728371548125907036999701950825245875559137005269268851191902319420722732350720195676686015251078399758646353713 + + def test_exponentiation_11(self): + assert exponentiation(baseNumber=251, power=425) == 726660627327793951567651776804065705469048628354142972976131513302297242245505988405873727888933068561600250187201859600468854909455222404421639174657326448216529776402099187491319286659465665125112406139243340302066650127206516107556834337273664639589214314962222676312343494697432649166855319549576707967503677382558708234310756649897107021310852746290065159890981427864175590157941975231477266841936980659274057704360613139148293038096358865767343585947817560930231968426204354146282174942069368483072266760018086266889988823153601308390498860742411696262520773072527330881395502118559453926081794308874686693634877642084901955269486091670329139574248162676272309514594389963471480969979918780533003547033131426674138651491771921741368189908741614657983884119267766705896552362168191424823492420704335031314469775184808774375117182257084534891510373611139777114003382437460222821806100854745779108601783800194252499047875334075992481616174988731715480272071809602320397570152463847508773418638737534376995577506356251 + + def test_exponentiation_12(self): + assert exponentiation(baseNumber=113, power=30) == 39115897957341730208009052194412390955771656152457329084502049 + + def test_exponentiation_13(self): + assert exponentiation(baseNumber=960, power=276) == 12789698860221153466448664705660478151407161376368470375428035753076068510990304484057024335510583503736843522001950356559180056255205471822111908942823759088480850045091342230988049107503089468529619030997288371754451042094131387286811126925777118816128911172691353620436539100554713911996362313771990558529106139434867329974764532098256435844196267484490954050660896758179718162847834881525876677797372848568084167944397412209688633563778088634543495393868447875617372112957569070643154780227721152745374027048977392841359604527643400816449028096000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + + def test_exponentiation_14(self): + assert exponentiation(baseNumber=-184, power=721) == -8583222878169645284695378296047664849787495995101973861259253120528593547713959969131112284344643006029563009530998270848561468352211893657925471491689397163624014355189740901768344852468494589315083542046510553115677200887528538715650091241428047411164570416384292726836792779316641752349083851212381865731653076051212192343222888450534297275217022871213102749049493901457684006952274649030622712444531806129456553519524698353288249771776395271552519386369120934745845916004711242636024824668458373236619312156137237828585178100304647963547453113736213781980442722421442798992244617026018925956189948161661964285282606306256416963162508850654027936751618281023607715629466733812837140854610765961283663037424924947586621175030804365421247639576612631915372826110833990698721437201746749114173573221124493844059384713345821580038538144178862524325032775962404347253872859106018363487986527769319002725253949804829387113609024109849624354498640134937095708158988347462500391562350520417039986913588905473400845754421596386822178014547859556356871467812836289158089470076475854401684298202517123154876699241423543425156973614892860304011505244125065296648829509275699315211246715599263546478865387871858221142666830549387657295332510669680649932045423495815571618205864476565359847604763358619766363938714987480705490952476812169366651643968930713752511843547781051501734735679543005279399066523151259029015531920579905921074741852586259397174729906267785147511056216687374923312635211521316529002076004516950317809583358730864851953937212854985106321658382131612617394095683160241769068687146775661975596917458245633232315644205072384 + + def test_exponentiation_15(self): + assert exponentiation(baseNumber=28, power=984) == 100809820336764426772258716000077144608168163004376987582682551997266240552118592020192268660525916237545844306771463700609698029449524803843294582802614152695857698765365584011015953924718170789838652223636623087735967913395613117524900599523871826436580081905190697141851842709486307650200711511861638891146156725874237816217267727863169465014150939691484249121584343218146492407733359448606937855698213742432893576321362699222167666680858589629363052742327937141316376083718705269880445657849370046541574519249149130740366330353790651236492118712144104815201579515211374718997208751191065141887887965521845857734097491272830752705752592750695296769862326905491979786634620372709281827821308879146920263134259459698576761015748205516895505766184567454186090402037783345110654130329401975545300408551546635780896394497902013623752645074398211218072596262161759562845569953294619508732053271603830950292562999826200965579167742488024624625462428206976394715135565091758187679791292798872956197897985706609813412667319400159685098602930778937673162301166063517085837438444890381483715556553096761804564695112022193209177314211841712680869900303107262796286812892010815290266283587082979953484177065084856696870417021535767001709015429861226083600444103322588668447151909401667725997907231090978746885729964420011490734129376659116397453640307159708144363936377440552101860227747620109251555706579703410363031938639076582752256 + + def test_exponentiation_16(self): + assert exponentiation(baseNumber=529, power=525) == 65197030936366345046087881255585854609191703616268169380681162778126805145901197720196738691865094004128517832327895421026833843696897457281505102475577189736935357707082759786175683434367205512233714894995033943950603490434888754166602958067513205739990074558044903794952247840566642588095254936897319317213608170279657752526733672218717764160400012380401326044923441642998556327612931187680110897891973863866570699229756778763978442727451443855679650955330568054323783005215340670383219759113416367083652541229601215144867887716576420999672099280252035008127184576321341879582779368737824414196018086179735403794481945118235974079826458493834337773307578240167405284405057342453841403711369974043678526848966188665063253373232472345578355489884623857508222872764349922755099743061214655177059882605355800191638167972152697973664708961640915374609231990436826092511272747564424614279264275340140793235814378467837164568697724218640577485698284330553313504977732558270742465020980245649648496160873027043186806382338953585313210108060728299839111823402913392141068462238420713194711957528952319559311959337680208037247062422892677647421107754196336069396102425105132436303367197903755219563784792902201366976808820194210063393111827846062976865490909419246764249810226640117272281218125805284806522610629387958692667237161101757574826094219861723176028061053978162022620980921355940302601827262179738624492781715917003583546583249 + + def test_exponentiation_17(self): + assert exponentiation(baseNumber=28, power=714) == 18656680677927423940161170657841407963651112286827310608690917928028100635653956619444584605269666938543368952028106919494220939591828681129999166001425495339303345265144537297031446004526512861135752949796262851026209537654032532224939696907818377467684417165109839520154550418713455895534647398547735704257463730574530918890856232753028775548907981970454590684429215199088258273798852534739673005057939171729887479473725977985337548368852684478007288010157806438679479522806847706532094632706383259450522822205356468970266295381740782721012599349660401409498801982830840419552287616915480221732300252400216395569856636490239409788184798342789387616883250801554363735156240637328822982980278038576357652028971695571875732599907058704480525836683328077300550438455160928474525526924873455070766415236918916093944870434962506782136757782397785214123653667295150556869396449718489605872242341427321312829873581415974470421220337224465849311045873572274833283298608638095294075487688419456637307414355993593746507837661552903156236550144 + + def test_exponentiation_18(self): + assert exponentiation(baseNumber=-396, power=802) == 22466691003474810353507979442773940444969658848022060441041166921933879459392699023731398981314659106617219365135352248613448095488307758312181234901906368660403914617911556640503510846527211157594312824578039510097814353318840204018798408094300341573754408820956170658899319100633724969760008425977209835683291315604698986896081080383898317202414263819736701444610458490997948310405319574041869782947662163129763555398324156227105140681930258256352321899832355183377948886572821154848019718045170555961585438558459521459995625788485570817090530650552151870078244336467464767138229997444717890682841002206955685577927375215606110388020638397839163778191597058466949044887644211083368931688833190084251906581263346603102815054995212078156932642123554619168815976218825845066721444813761781649136642750763496380223398676054547889041253452569084993662964285806862573314649154676268871391484192611434352656366322371923107166881432248956011568868382502225723294836442333603756474817578798905334061047865121748601044409105721006235010791793477725939100301939700869282062708309126975425205142864146005621225265562790507340783993695950281140207390730070402534360073660931040689674750284626565803474314495123024504472436472862400101147586111375015089377030058382813154960177426360075937233952741067601871384864143282293604237473581937419480877114410162519437983848226099083133059245581560645225523183773098712923690087710455812031417737496357820224945771462700890159423943546768648341434774039813277615938661487680902519848528513803099574322516864301405667431269990746865477932850562916237425008335554895135982050951487642616048814203694329879365080657098952502901289993855175009037638043526416892355835002241955413061378010238165503898445400302407544783899844445961454545381000104084972385984916504997094524975107657525297981723026823083716132748542519192691092473212157314229447486488102494465423088673328713234583775125904870980657018977285698712630539535231024921481202524348185886325187874719295180883311132062201890768657338063981843515068055305091066549645268774322793516281317940002816 + + def test_exponentiation_19(self): + assert exponentiation(baseNumber=-841, power=509) == -5262133490595413399841672268379668285928467618193643413666127859358255494696936020792481519425237035966642025596434879763926117577691246620773883373863604187123052389175600305696033237161465073862148802828126327191720275153302812747621118830728457809777952288162970094182108676685232637549646598085204391713595356895984290196161005552747796478175709957398199996219603904112856387088799552698419522689910814047188672639344152035012562132783210969883596421302534776959603793775328438762350118695549388287989176940899581495145110825352716851892280561879600463508706885697402963982164949759788861049840238928435628355605150565245598904047566885538487010795267405784816639995653905530892031776274316491599399518799183334366756715580953834280139672831075102416834771937713263012207682570066381080355498085258967213663132433750137385617077143946839063513306973900741049788991492808054465218276537969437751969512012959902980292113613508615197377266028759661768071423598016833790919046962682316752781478339678619473510199349233388713272362581617449662870378344931965764390389945904573883566096487381263745306955211074177789053907891069641755726526066398348029480198186231125209313529856918666482230263518291177389207694849097473548159686805249022264712803463334643649754035812054187266651936713532881058429870558356368294084107589282469690711097723175120271294721995584120890122070434062656188728272106246146854359144512259747838271212600550198182611891469776784234392998775876414866487558041525161 + + def test_exponentiation_20(self): + assert exponentiation(baseNumber=-266, power=688) == 2082408856554626781433142643208375284236780525328055261784097138949527876309549461409373139739328466223914382707361939478039221792769739336280107767924444514917007264222686082182968197913173599802386160788426774018864761685489136342776302973042985305375189246371449708871184705368799180918089877716934824090773171945366536806826453256256710538366485118910597578344323772153840520945070474443453541614439723658262916995664517902188191270358662473175234888754325376865638476803109939589936113359498661969672919365987967723080429543327761306662287606670757041304286286685312884478440968493923016006666013298420427989017159891883445183935198876687705202136486798338506310090166520719268031556374373402874736586196777206439656569427628411893056870880271065629836307567314422771707889829036744483008758724282158338910529231846385354921865143039900119772458746917217947752832945913914517378083269132978009111423117219805646520140503722680913728698403185050227108838794440431201951538088363274830153492950109203489678529126319916493595377639245481367287873544034197643330716443971490783109131686316839146523710784081763714389100309242852213491516804295045184634980360187438761251729380278689452346614400947469338991681442428737406159281781512339964748534323552191947853517670340652125579153325826705379224150835815852034404913251247477372470070613254642561494011533631738953362504951094145775087303683426901315167964100820854723175193138832056998171317015747731183612138313086134598624547240847312972320871153656598732007072497778853247098592875539412434279584821664579036782060573239570902814848557676041439063609557647236164543448822211210780475334127995619128958917065834496 + + def test_exponentiation_21(self): + assert exponentiation(baseNumber=-550, power=134) == 16165918769624372481443034797044267493440707055249406981344213864174766112834546070808374905979206740996971224843326512242339174596131871795203729264430245359747520134231306636055870438010170862114245338148066366557031869888305664062500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + + def test_exponentiation_22(self): + assert exponentiation(baseNumber=217, power=865) == 109061076211719564127734392163075822380559382455102361301673912294586295385199805863048386887120544676441813063966696567913613416278114803981764339400167849660776404857299783322293187039170788641563174414454255327103144728397402687548539675680533868139812053155063548722971344516542674758973863525198692397819495424229126547076288078219734416586689942554651186240569868691636888583932651319935730869562588474918328619507222395547729610287763846324478407716744720374120802992534025720374847379136881655050595685690465290248525157804672275922428974792114882990693020456489632796365773346857369550717768310508140506583659999002356384483201457031933700187012806504498054831379582305781277859588164496152133824169857213111362602210063422152989143634082799043329867001324779945648308076597409235854978261428362809643840885165345778560637926292457039316293309019568395395241291971897582371874606778391739982513303745465400184997344829437769806880667300744282733668409731591289861778874653158328150694722568355098582510038974340543319666768360120982541217199885325232917817191381900698253651952984939822899112474855302593510139878180440841649212895932262794878291403938142524315909823102341539030216973059268869649584721037735555468407431501073745204337341837398891121824915794400561505486440546980985250375678943564696207745170760040689456818491599873340518417520354794502559948797457210996488055667260742689365599869780347019450247633472299552654970657828681659346476111236715206795693737948567442034266668791351718118499330195240335320437367133368462111765799471676412761033368543659334200301115123926060195926790796109657189141220475542925037507228250027991631624074675526422717606178075753652686174246758911808119693064620049680696596071031009693925743657955302800763822229236734948458330433304171126571736606795658947563134895646625864020928483509615397176305005323962967751318722487807504909633712159799355544033626179287324209006794471461477574698692166308649100610629668508441272407501330012851983928871944642484984874457 + + def test_exponentiation_23(self): + assert exponentiation(baseNumber=924, power=166) == 2002383336724619204239045564455522598538893867369482898765641420291239232241851818557002835565140618482449360208481582452627323455815694611006026331209940557201571291952339863813390342658529624220363365981728270170715985868275825058600059127749654401212824161212460599190158324173935426378589942351390902762574979526290406617098847493280516226750317609715779695674498449979132668989875086024658889655488509865632863371064501805147625080475499632231245174728160444095302374537927545937331224576 + + def test_exponentiation_24(self): + assert exponentiation(baseNumber=941, power=692) == 529687118789317451646143163690494380528547562453184414193968202161617026725784733745755227952143348261124610719098071146928721836725031279517715419465881340521927611998252581398700176115141682352062339677098325753366734504146025265229676331758606008597278249739741426658375600630927968739062481403514630865805737205952140871994276266493162131169846875532923212241456419581060180080392960152275824003196850802258642357691814866304910114504386853206060511749559757339509487156261081808087713554998365490621722448375257922794301983002671214327779344710059904544170977292531377954200625434378840512044108940799449939079694286310390251697410458761059878156727283628363628413752147521302113257314995494855904592798949365726154627095967273886686390744268898785632297460774240932160462871469791119732647182286294268639781824400735683702565745086527513830568879665783653409537115962001472131892353912323446573839170088001134391307558181684691689959737973895802478134352050873453797765449763185359043515697394006488290103875335986501612002918960198338318092225333124754469212877070989356472149419031626873430301898766883351551629524236866199906553635705067847634212407979839284058114756850821568976006884358907468542513272353624559165563921535050533907517276196517796679745332258100509432194486359948852198426602806972936333012207397273377839921778054430564884343443691621201963966714114265925211201364615565269233635596330417275393846548361009496943228153755558480486878419033629516958689093339636526656993416292868882445263214102466778697835175798552260474981664612226234918596482314137721759283385475708417344273011464533470129574219051340870031320432494567318530575743198084867857945025120012818868962586822015455175353907658896374422119359180816370038515806182182851969967955851553132830870422767615099693973934061211282141724218160447118944363800435637522838151989947214982392261471658241399174525781489897545649511221296373104510828325261036724687370191727130751543644109361446194743338065494055945151315944003816930245112879799233909575852493837049953460560081 + + def test_exponentiation_25(self): + assert exponentiation(baseNumber=-701, power=26) == 97424563157341450663397483789110229330105155948322497928678504986959268201 + + def test_exponentiation_26(self): + assert exponentiation(baseNumber=-618, power=469) == -9410112524021782265333432614394992971673913833396124779193642345049005036165784171580565724579296341667202635900958659359436604856934492347637223991165971548842836155619255660411642440325406471703882787533991397962837987342103715414777979159117343798552305455174144059896859061891146719972897865451415745101497442396345686515405361068911640937805872262905138522982954855849212761960019595594661268304448525610871206730603321888109858939255917158061767406012725933822238364905713494175102092668463795326358448627142856729249054950880559611491763342744459107141141249016781559898971561540341355811315292689031403857648799196946337868737793611252006802600904748584403465990756778501021110707693450517981400906276503539983463177477627208220090593317338172235188441827237861614854276677049850970152944658455950870529002720092563747102353609375670775264010602580350942406445285268706491982980009163715367682489883336089310397240268801939839516103780767622581296120254360061455451664611015146706634806610528122925099015940247891474201678351362742546213605653863452705103288785951226215107267910029867463816699385037172623187233673430470504786300578905511776712383118278059307391353742030305229675914131274299403608762806852041638596415708656723312169247007467548632870686774448946756197145317704812321736179757088768 + + def test_exponentiation_27(self): + assert exponentiation(baseNumber=303, power=973) == 277765007365201643487957222646937846268032333566232231580959379213033333409373751655326504960452489828980809452468306070786009487226491512401735305048740235445785586126941964980018547121239029490964970479535992238796463694341336557078665343661315058821843844687427248846284208452594884578408907654504595099538192788885578994628186879289645633146801875731756098664666627973855011052317988636953902266892691163166714366756902194974978362620614359064082451689770698911433235363248331609130940533091637235775825431104584976242831558312830258158578775716295372413799806275304203054564618113447441300511839106992986450193144096848660869305622847857180989007442359516661419769103794051716223949711980126401017840076479686479709718853220427328551868325809906051922749989325822996722060665993277999631797871770387635235565282045111626541271365451344326531399585040833562206573738793117726194980137256353243376534485275969306769417839860742930479586024755716455703856223053561126305565910600789524967397000181950379765942946563229981950813675740327709598196587855753075139584887765863769658133710011200312080353067020251682483606173857379517844711526451471763355741424809384348842359421425024618693490811465658015918754266486823547875922717527789346366817470623143047189472382209778415795501321115181828031450888242877834836233040593946196780923968103025680439863902461870545656263580793820960262066037659906840511717925807620353938369790609100638653723949120714515138855574227708864123023695827867589975099559701932173732205724524814218595522777840918597262379877338670844495705960631842774272154438612044087625854840926324962827535964624768215124955604995214568887470752629474866713893334158447427052275415579964746259360597217822177894421793465672753225083466008419523656981316207977936020476804460941123776804875213228480276153340464450466032299579252326414876829472701597754770645329632343728502833483806549115486680251436872104147586817377877518802617008038918206969372676199816889596996523983875944059818786082030452562486605355211253026763934238974983219759767126760761110811844056991149155601073430483676234898040417505397846717741532808657088129779975102723438288697489866696048710003674898423801807687045204788134960992232358565396859468865351197026549297516794777961721690033809115339357822862142090927775722233875599452197333254785575409358563889160411802738492732302074322678288484898292951542382899155577619823 + + def test_exponentiation_28(self): + assert exponentiation(baseNumber=634, power=768) == 10105319593278281369332628132827027275203378166664832334550471565114175928385553580854652109599993751710838050205264534448332680032860200880650637159567429559447664027190053718975414890518749487023639399544252368636252484289443299991412963745805867409140713112815659488035078549692432031835114306072805279704351116823969381082991433573109569273849796421012648827802079199836396938208371511639603377164980019192904758943489365601772331211890855760383376181236993839106783999006087603681177563659073008892056274632346124248702421129582815435308775222363183085813584656098771712168835935406162329103903302193951841116327956146695069133359366817767659293441183527843072288529852572364146958152004177376460082961762535525283334943283086743037903151314198924725687819012622423321003207036874636505520030549211717079236690367103587376246787737207976905807289931156015159193771565374353817992528477480131758064082177785718167255557710738261262409716622284609785481928647888451801038347749459739601985821089043503591005976700612660569722995776870057922697689201244496350984972277173110861273400829121601598266506304898373461315450619377319758712896521016427021493823763934925301344073921677456582784738720262271060983299373769418375811487648569846629328399877290094535983570618281704516191612594414987984352777307589713629341798743271272989474389894848729121812761761264904110642888728024646527785159259029871284189804719629412899911607907206711740623577050086917902189365707761616691615287589523624283975767778692114387554779909534003418738373884327038738139294484853929312422284889434956979610863345084026112194853526737752730097289252158668248562780526556898563404161713352456850145099434218033778038724749329307351998254575756100628499454549675396273653512596498972074975788640030768717617557881925452424169033600556615772034005736840086502270143840959584541545445363491039870567022272002469358898613534128992357765035906797186787402666538857513058942657129022510024111539403213886810054385675051806802331421248880898283145426338977777189406349875912236773645332766466493714733450615290116790186947425403340312961341688959599592908915311703754358291479658496 + + def test_exponentiation_29(self): + assert exponentiation(baseNumber=989, power=517) == 3284602020811752956304284376661465965351874351103366658915900581382303678380582944403233171832971317783681689871274112811010116610841087997555220535119289398337587410646131529373556617835321558394131691735332716969463242522659146213883587540697108308333834550815714331323771920017829717844446951980959279433699821583982654008355944562221986347889838452465032085133201479877887756164626229308298076808380777465370411161780539650498764304694415186904905857199463412656851661394324319737051685594166560811561823102877461472314233321721501964341931838475312080207029482158289915139044272163362752074032804596583069970285443562080766519404750838229311785534167195664128564121267130001452904393302517365408815772032679505295447985943970403708202863845840419210461447990662233523132827848910287526005322683828128398936859291364359067596728514714538485982613058837761920781964992787836833894691968283792815197976239257559466990269903924623648729051603114076015907692314165527366604565754969193723027990144778403437447388443638821799424580628074548041105649008703866150808333408488142389497222359757981003146338615881495427410382543180390356294755612250262348509635911040589880484018557325318527503457096136515560833736520527283561421904233621626561667890249599382054690895644520834411929350293895307641049161970126884729658587616935950370210694572430515975614308341673312553360715936022877784239101538727498185495582677528873068880176193031082791023059409080845923901500446971671773180319350533923413467613757945286266233483238073292598057443562097332613229 + + def test_exponentiation_30(self): + assert exponentiation(baseNumber=618, power=823) == 96275326049673130615975405812695615939440296042926572428677218858192298570634859258283507933991283670319321201360798048708249553454369136681108750049644582286820062383613380691891597838192288911288497381426443635390237277940534055745559995801281685098468022096605992687262100944922792411843873022806217913532195196145654339329105317907210976987682158825314208676541996364358983869344136097832078482838294428912889955002532204774654285995660174057859934242753350159334272614885238983397357060876382408291899897722915091758627592841708403111981389851750154697368512468166304770835031811595810670632213580231984760653165800885712299124204694763946445670216258299784224404208612459829528631282473930515657283825892991711936751067105652857997941650811017623403101631233520725027684058635173207893031539661560234085588181208755244130703891362014212908667843643138936422290372942924913046596618521623256466297415004964364132937761676466786680508937281085323197072500419155490028195623177802948121705501229543949981812168372791381083316074327513240328471473387387105535618011985886650060207782691448775125816598114540066024284533532349399953757505182435212728580385736736156252033719680437734124521455515846914574684118633665987181187237008862329179649247564709432993004027486680148258092807726508363431888412986987092758363136750246956084064477364411486618882099012609828566363531531898522700891035692329186260571639110051129635615761578186264848751160611498517698944053131241643719919859045557815795785818102211987559967275688808558789730433504830171581837758915857926459457071560222319284053051670993654259877298853349333882301510415675318310506913913205182117606186848680665185154619316470706058175298964738903915513136061440760870760841084165859839844485579144912092359696129899081268553156634303781982494033873797817008899721565851681374926919450897559654704269364519225630602776929293117224152094619763711438752621448002038404702501572156743181816906538612349227184035327691303658395754223583695480460455993575885422145329409369171578144303222429352156081952880740390731760353288721841916606829253251976041663171940779101742216957249142446673242977553508512596669867952138662940722337604749285585396202514998088098801710434947286860211568700093934666395180372227418187129836772311112817284095148032 + + def test_exponentiation_31(self): + assert exponentiation(baseNumber=342, power=336) == 270876690599541496265062802543823126547072455341512639091588697483289886658122576049715594461732738219921442815670684111749871857067613630775426061264522904648408478562069510666817086541746322077595124676222984988749875189998610492954419028851549853477169954616079094983683930311968493947113905864504147178210524933072024220626991953554879915496497429119502382638084151203602627684464220209200395502072528466301022606042229227128697138412032469461547791989274686405190232533242770036536283632659498010380296839027333635612969863594223230827445398873713340201274423776633801412538473283998585746009478808252362881746644733695020368983900834197252681046400182602928712367714707488385067143785754113710074578704895603467223140843406677003865713188285322204696987244910890007644462714626923313217878118862002203239475142688817190270521330588312447857197056 + + def test_exponentiation_32(self): + assert exponentiation(baseNumber=828, power=301) == 212388683164629365875709022092178638211791006739507105933083935714919545657839375720426850280814120128464468971909366747215743407439821246640931325449938377212731136428862162221721257095266415477948685561486204648989855725856557525773601813837763261324093690541096703136228354783454406191423628273955160848713597537560742558808084725909407306527151676687820512647108049065094567013538677392605511541046524206453213035829154184739329071219138454457704539494280183161554494581937659232229344548338259588362857459259420834703990995805033062373197632997236894275004832612507401209897098781860531024196641893260143714865852572337456149206210803818720295362197808499545275467358104396186252765700211642366690010717695372223297176378429564320153837317965503160122928244145743382496225658102041168695698787780584240889642299844377518128795490454663433220865631473742100647801974924771328 + + def test_exponentiation_33(self): + assert exponentiation(baseNumber=962, power=11) == 653018962236218791680661006911488 + + def test_exponentiation_34(self): + assert exponentiation(baseNumber=335, power=521) == 35346341264307600780287983159630197326291192959837960173014846712653586506991085693304655938701087021252219292060216214490139298512633507843250647620999585480424838738488264828567844938086890595935957891630113443910789817143045970511634997188728249618856054645932582832740235896267380586175095867812957547668015192097532761996215684221119009201947804352949530668137422104514226219153246699571215999296173576295194618692351273467470190077894476348282965868172126725267783302729594774728430049789680328091664477315451353271035644153364549584099810431885114848518429851784428615252599044051289262271491926610455333535378021804733889048843042401175281940033162952509267053404592029212550728549277544697537722208497230873820754088454587057507998108545643933816513235488701390500547284552471784930543874513086087043384278508400440180220767893494364689169056054782789107243257592520900156534028153030448904182832845936638630552681755613611095619366265520453747077561582782383692160906996646550405445194718097582483518526555413507550075673161600505113411088270431006822564989226532924583045478325024982670288726857549883239884352223594893218262765531331447568794889406542837318494324348963402559614724539321871772648395073360480947518934603191897030531487304790596119225133436682144937035499054900355986319482326507568359375 + + def test_exponentiation_35(self): + assert exponentiation(baseNumber=-33, power=506) == 2333745955003589564225720481697610099619543262699696784440051168682155142024262521385305344305318704160407504683032016874220725921732542329638407762547797392665460454715331222838235278365407058153661793172938075650803064669501190705483919115923311382382600203552651032276806158129386945478058829957525248383445920523441156872417088803694068911133225885754317062742511814702029819741688344655978485973904639614591506682004975859716214401904469515917849701573947948334942406114179335516355944762857464491826132254311912798605405372539639444346994824735055631559407765202522353642181660038454368843188979665915266767444662901620218607848083039617091543208684457471856314767833092689277352176401814422157578262541659557894826131600104388349003528337709412190829174846427969 + + def test_exponentiation_36(self): + assert exponentiation(baseNumber=-837, power=904) == 139256035141907119593711116759881627176378762347780311164090409567589493997222732236943306236887508580443790540553993411176751718332356203225491662245415275239901742210978666793527155060434428452118960916943079030666745926580003027838413262252282536567625811503670948406958202425092825423242564118876497464762884477058857881949703773816261574456156760484839766757710762436393677298680561725781268566957683250395724531766890221194945555612841735310848836957820920064759445941914272433795973014398128513768991669008806843942215888411792186858749443531440769650515796331635435126894533243340310202707882453100836859878746276511990900982275224778200115752392594121186596132111759668792621283681854632748558429833129822538993073536230918221021063351175628062539007972557711755438506063754129851159432066733487200891532517123086327181964191329700277599161187923840921722305440215027417262435949414648244759789046712219514019578726097478927728692548588562143743107483544697029924095677119537296957478163447480655046850677383220062018447051362699890330385921802467897614645011687287016924820685909927944617160047399656784952115855920204468191942843319570215122983036473181767106400527465037168793619563142257857921821275966858444011929609559333286373279503768239298458199800222820551054717683897153089197294961549686945364822182630563732065709753875184504631770528130076716494565468207200713198837672369995731326692484323658591292675183625925739702650624770630773455629357322671183028698788436437141328459049957847305484321142007646117641207644118821268790903391111122633278250069334694203590012988611945975247118181460407241872340516976739971769946240114845472071101832591275617759499549535232417772917424359062293501167564703382307129868043757876904455264317508604661323844799673736638925510672726334061364090986998174415808029850009897802787008424837158963623242746976722112599423463417419987565595291418638442866441682562370215720437660665153856808947704819333665884331638371587516454257023184024420791686649278196811733732412721464884106068308915060977917492133810783953522543711623509431867181033426061989184020843622109112267367305160631755608110938907159145663505720191562828133323182686893224662335335777092670589338977780679957939539375431730218286541705601773686504990838655808370720595204420510642785602579941917516758142635905019665177389168023162767915675678880268338757560192430244536620572714339319149207862717272029163709759233508071413714787123386784395416475812184850896537270174525353028648624723628419660524045807160874415569717159719011052582426077423689736447055043527372881909648364860489720067783011347763727419685327751649761 + + def test_exponentiation_37(self): + assert exponentiation(baseNumber=-362, power=701) == -451552180464752677968687500520327742632167224871193280492641246071825579769173902095841109810697183437469213389784008194397732951131725562862303369832873581486514330942394744960051787619481858839966895146790383792802824188643636458601006866454450468869692236510732074342122508961863145060953675249519411475797554359460459294072653014378529993370534699772268607277264512977790871919950579855608315602168834013195442890807091557356939557564072369228218768962135592950025852034744407531327157618772607094715517016764374039154327712576653075168888012102845859670630811653949276993279222010878818690202140758360473671562594218344010935388164071786283831281532112584699154143562627944487102060260033848047856067204285751613944616826785283686970274006586998965306934182295179509433531250076831304411581769150814521715458940171289362610369353914934241155382793910839037248243191196673849893636939638508734164847282394074257740924015039078642297422596545799245429169299009431394674373004369935039153925163878234385793943775808453782842876422337810101246216955404511975958706952844761413362874589554064979714862438441541982038031804370272390962085083062547176710692342855918578127762786701971638574737812611303073502105204931364155211884359544212839263334676646102236807614997203407713614109724457732736622724247384620052739025291042002074875652887311223894636431742840650811087028302431401281009676658737216773986556958414615856424907297506036426983845686314006023117875381653399604968763034404862027109697272997398602994373976740154712714310861915025418365524795074128765091659920995237037334592114760672720259362569452735715928080594164820381990683923163721976950183517073564053569723821461635392656101382817189885784155800434088125379800722204152225625445184119678685881186585571403057276628198490112 + + def test_exponentiation_38(self): + assert exponentiation(baseNumber=-464, power=26) == 2135342256428732733885825701653054953014271211521019277833092292673536 + + def test_exponentiation_39(self): + assert exponentiation(baseNumber=1, power=653) == 1 + + def test_exponentiation_40(self): + assert exponentiation(baseNumber=-964, power=611) == -186667071701123736289610191157076835968499819648281998557586452706780665161786223062588575417302632560412492877804413020643627584809721000121455648580206212582747070941502191956578143757679730046190780506192539561033475870618318921238824611737107104039106263578478733344406264183857396082696041674552593213966628619535822067662257684114875331677821557438596953916906206696849096139195726484849348807628311189812431407970367439091414388747010577897011817937490534619873899278827131205417756267127480544728152062336948929235191681148579650791258002503301906192261768899819921102758705581761159972270382650107158496249985732842423021478108398617748639222783958419660363673942193405814783571804467573968829650556857470645917731452937405063775084437956557267376497396521829596576064321858851660080888840032684736294881686983693297074358983203659963461317249348002251098959699128108407572511089881040850482406055954256923885886884371435048610856793898047012497769937606126823648277770763744116539351562676854826992604772512179063398593167627030921057463130933402595208653107820847339903280621568445778140064048802126292204154589677534104019309503355039314349549905059346143956567837887354627948218933397344110623724433478119898935126271439646280874060662129323218051021114557243569423079304855199438738583750721458002011216846321509720833072522110108274834879252879538594935289381234103818725882199706363669861592548497730078913301537752728356386455051771218042316057083817838781464293003784658288576436672642006640757351900385584953222078031197000518181991145301334944190665207815809931755387669351492703075529511996506062833891946479295560544526194928894724069486793209667985975841109744621720183691059413476664714007214684648572983979685231297896210236786030537519495995283963713481828925221183972394260898168232133351507492864 + + def test_exponentiation_41(self): + assert exponentiation(baseNumber=814, power=868) == 2642308025340895971987229481582710199035966515440348646248138361712879291624851181460641377825626291028802802496933573525305945509989869939281986244014332325192758820277992470642771013147111254995334925941011568701840424198974671972295304747285503821528754887783409658699720485226455411768500562821528345826529983404582611503375151874432649724889815358028565451364040289135853814449951391142636320944093664365017523988472693876746691155703402157418660359508693804000336220901914100066000533221758258226187270388212043476649814230299182184157378124754798530981384980090017725656738704606853592217469905870091954980423731226663231402627240194549150123953238066554134683265565175144091204341781444649579846797275693611176067468783355086714623139316037343989171839798025876560165436118350320644938302153690894050749288662246645157450770162228824339292372696602273821424398682507392190127798001538411963336979511331642237478974082560473659538527167263828007001807817235606738700769984205805561625414001830412680422642617681678308173855120140733438571743449759316101076659425985941022612634712726893137026505163266345679098212055307593162457962076304532496996121389506029972335284958783873552863985572034387547025799316296996482194150147286034674377185881041988448080448497738566003281317089370270800363291987500934924236956930024859050905910841432069859776960877730034368473221203062587153201751805319484699374335558970300813953768510288954858734533346924420266657646975739245842509915012740765827803449416418714019657319589333183384803588626657620820021944890169973574956649650174632152655298909351134871890457550309499081769177432199871002713777536358595419247477937594316600342513710457634540596165941201837832932113614759070104675485619415949970582107955265718719874763369912924294353875931998140878625456068303373455267165536184506834416714586772712600368277725462351373073790007308439271168221524041731521318007191760195593119528934477572013071279100414539739977342219359466037766555328713840862685547233148914368571252425651573133663657114144838017903597006512906667007063365149934970462244573563107932601127942441778347744060461268298043800581297026981618493690691019700154701847980963310191942849803063272084598784445289340316298802906236328831094931747590628100751884990150809262220008000193673491102433293565015453168883475383631577403809149406670231131299179131756891414168517169736325165016941230531425233919977391674781925065932085132829279514640899690697838742030701190963220961059921658159736217477054389824841056256 + + def test_exponentiation_42(self): + assert exponentiation(baseNumber=-933, power=902) == 681149840628499416230590956402050615031512186944202005775973013877421053636685868596491058845026267597436739199457458322742812754604432414569127571462226102461132526060699964596515513089283896621655502981309671138563740828835416559913620490151772160979523705167144640677931170765409419310453172052817581196675889416403388810041862472865697628731524776047423094348479525717949401611061638770158535524575704151895481259087656722968861175315078305865528705382866200900194823950431300644424695790164448890087592821516111743983099294456856871230031088342221123290788752052984197797958829797967778586913325624377358996346359463135472555328671053281988205833052159393860055534768341727163283598440129836584280372563779293944093414657967443044813300086739847514930013309738990457112639091491486831164307687452082507581576428315536608213051363235495725107800731735912078817487294285922699935801720366311749538628195920181926902522328504997922394959333894069654725426839706076513630853614738623469990714999749265506230251827786026794310965352074689499207134187114079789181805132244240132713946080665766753514583059403617858393079635078380319891455420709178324212365545686390001466514807461589551534499701036018414279567141956717113930888655608676763833332776704213513900257129846837733153935271827801179285246240599672901138172506448728956916475060761463921037574459808727978099299398484885922124105243949773230553928349821166231272426058298760672158314099652225782218637102274656067160386057420039158899248140553777302433971043329787350830233269435819206376088685108985118555270574360811136787062299973415430529720029466093378813082325676078399869552224368998355252023802195145840643217177848671766909805437702354954994038801941171501993633956663269106327530136628285730479421752760907470898149095010596064887692846681448818941946997095735551700128612433640374665645578998953083246997020720570508725234219412418849002496548546523970112002045764691804219080201150944221414223966938379725368059704074926422218659631986764269883844079665662475609303177065074838056668748524461641548568196136360851034468760868434360500701877242183505541769010689193707928577601496057380574961032277651731357474802770054151455071264059115356994906391921854625061249165244096292014201952465288434836066565789557998514226566077509122212484096636641143300566410615206130426477342479079256006416779734650740064356366951666916900579809451898094858923537149965470624973239511994555295733178215290687976445910245172716856116046305248690518136522536603487650174148053772268228516552938271830834086257372581214882325846419851021173888764526239137464459252008952706658808146211349328627975495292949437431897540972268489 + + def test_exponentiation_43(self): + assert exponentiation(baseNumber=-417, power=768) == 183861254851003036551949093129363356150566754103895716592245933612814147833284713182546116351032333405138180553550422912631563841275379443597177843439621167677657879498695025247978485541728092834247045092208293508045385342056191429413008811439823803633038998826631438597312824136341804030969071869536533897915156581337708022303444129519015164099587375767618423240657867556647129845804366724904450255830595792532627030305618830995639182136021160974079404544630088996066207117601647654252105925832406044317553601917751334897419420762280012790493924697449066932560807992025553975998228871714764455418855217295518068897652619232269719955970547688196758089227168567770855709448049944448248553190361220116843696234510296335397789011840169928069688026436179974833025474367648376707723486538311728227065687409620695233730839185992813110475723468832571034507542848473841589834015521922786481233456956970823576473493008468444543904299818164818005446403373239134044042943265796604268694605525455319448790502119919096134228769457630112221772371995310496981922423402151538405223056260065269369541985217819321442336982702440457421549747971026742204554973428892926774728425101479896297506141667985733010459684451291598892045452936247962832228276132223801589269194002188904748207234283531892601113735557570759820457980687567021441891601298377430648928136429936247557280178190329555418854187347870825855481075333387133690471950959612748169541307124711763320099041169519863855519683768960403908924889897193592764848843456319704011274732772075966492588386265788517363971569556515466836262237214560970763782693640753068552768191776560245574319273564520482641836196070309103817759574842280377258578646729100404609078777207246529648283156886119417756077505572791246620948477427162203643808774003145365296966600539784326264762764146864090579823197142418435608510929612162322144446357767453423003847630850392412969438783555832746744405648422585513017025501953689614721549539709105642595431069886673055711341068693055853847110001196195841 + + def test_exponentiation_44(self): + assert exponentiation(baseNumber=312, power=668) == 12452851360747587086564848008088414122185659214405580141210553813941261318445995240085320066657939083313270862545030230769047445385262805901950194432418884350084924670990842123105663554128251183500199874133369338003681670402547890978352442421906135884638183230872529896899673375053924490128729803647110742808798334797994942853615051126971442417691876822173963309339602828734750792561082103639984332372731891045479306481075382882587162956286114039456414092854999561523600534131855670564553723695143464712721051446759273522342100301524015561775096954461895596941524295811852009527683048700023850860765766070322865391868281608366939873315020522807064016560061486122115652941077275518813610793877104687440186320615211196867470396879941397472296643593336920754988961270781543914219270461161402817865142851469670811017994511626214666515429996255528322978203237607389520392477776242599807457262519020358777675006103380951750393225070874077845734851634974185957078161673931380143734598154760349610882681013528783597129447855747637675869338345335352526868750346272517852826398806872342170075011845735316115103477039484914007029291459115201038081772241647161683217555698016292073035348442076642423719811823899894151071130700109716481609354246899010217402802654129243390002639884801217014609839519502853100700745144962221485925900183907986723358745895849846562182051751383158195932047022469929505899151945611817927710432928628170336593033981866441752219818931654773127383195485180837780233440318294075182980683945977230030738549134096081187096243993797186628349117193362845096524803715247728790297487867628257260189558449740716261682027950936139158495474109956708529248241975296 + + def test_exponentiation_45(self): + assert exponentiation(baseNumber=524, power=444) == 24159693524057271911227345036126303186271957190970235812210617952089850280214803205755428629229633071667512437345569929357913477669844637191254204461155144803052570201391476569546764872084662008837436889681856446387666494730175705165137317474895217272246401779960198025227906694342791117689360464693873065545054076302821018324399232916998624888827865357531769215644743335507726317664988634862500133522160397287829715319857303455059130721609844633310671110568899324200625657953617585964061474752157837882709864432244630356005536826384253332919136189659909890215803892551964405543699554274003396241165265674490308095313342299300793993517044052473076756989634510759463605302128300299768249553205787507447698987938156987710456246241053491815625807836963378340442250904956689444973640020544744254197081989790143662741441479569142014958660343957019998754444849734774559009448960145944780237627172727593930762282973019815433942837913536935457617383594425501914730105402416040277722464816128402433278285320844753395263427549348612176639225181251479691668890195126257357060364529892015504970960567898573445185861200617719381464955212709472194585079535583220676562897851355820453717946255861281282167250512243144523776 + + def test_exponentiation_46(self): + assert exponentiation(baseNumber=948, power=763) == 2017257732855055624794055042856839700014012848089915415874883497128100791697407757144457475953506942650040775622850492308471438568154202340182140368781265236210358512538014182599226779225732944038883587981662090302355757138485738864949949948586146646225455043087637311393122186778994149677698437483509803987030836564328563303631300924585757214185002426044839310152516437620432237841328203391859851753254804470057866647646486431536992539092854782552779163335105848755395611537712736264961511876642936509188482560418449115486250655252384211076174195313859249096819379355964562670410233353241888281043829382962906921607625805889757522316614792390487310353774680343906531512833984682651906392864894806957409094509000469087339790997236241578670780678839393308736427516830440888367937287400061390517240886232463274275621030661702209818001585047666685014750754136374203584059641186268612628357914905438869042122198444405517722040210786938108394970703154224145560260144363988150768873885061046192282229223145485295956798919891103459331804394142269753213612172751094323397325666324932998760182137920927465211224252632738802016454784862927479835454740283253612950129246790358365952035349318659537561123604663967204897410958916974040159295885097715608828711686569009046765278609647330720516912704676415286997069549808872490964922497175768971605381601536818435119637933162714471316747195328096365837028333982158803551295588409035656839110846146655273308065803512900452023989019189086313426256871377280016194777175239320900625069036826425379123244824540304852241648146116903045338254665008372069793518071853083793622892416919889190305491251294170238249812967977529860378505492091943780254484480963062921040789750334238664536577556715516959369763595083663311698216121503455606525772777082051860834667890122997815238807300794813004406975223846157589914951472846583162207828425817186141976677119499273925395626969945532203548505803024751582016460809940931641884542112077969086747865988218179161000605606382195036439125041086192574148653497608497417478928721156580425770657284431170389422587470272734558269413193055469756362113626337405509221552142902447130574323329567055331227793059123456273752441276040722555573215786751681657544711318310064345591257785458326505104250162123580314222592 + + def test_exponentiation_47(self): + assert exponentiation(baseNumber=821, power=302) == 13540460982333446548218013753408918359564147026104905940467373251780391059018759218313588253785659484566665351635888844005708321303811530335552473257864052573916116064852957399278971323530978820990789123089505281222636046546749144262099230742335212630394998933102443499340910324195315803604803006745091978398527881498637159078441333765935087018824508488422843469672016532476501913383428542474326438780505671848705159830366629910074988518099246774780466923484322433792638086871669622155894896275524910186614822299158744887235979715521379584824538881098061257156587875509337734964321505761815656682697498059695558564192414150343524035347965486320625584148888394686981756684372241453291947004923139398069629766114216972374218259411973635650599856084838018508086510058292724171683978622707111807407479251124890445192858003548697605156000703987333537003321060388910604569674571726300041 + + def test_exponentiation_48(self): + assert exponentiation(baseNumber=-694, power=741) == -280135151057570358590521388259112393638652685736722642899317738350318187324051916789886657147819653687157843464255881511944093749969904746575853025699293532687215308348320477506041376086515869421915557216630307678594938077057233958941857499898096496928491272621266758632957579550360896421304611503572633206159894395127725966371151165027852204926271233001375218939397259987844289767069897390836414111941340967179876438701807802306801551511219780319378900668285141363471792853900114699036576589823727821777465730298846957027956834235418290338438216131222948285017186369908205334223348877502359680618053511938066357741376472707015490848435364741063973155973683934360119429966308906562131808693173271487357778689362656193416397582464385037415136116885066793236671188780006018269456647097547062723523435741484708432561697298970716467073809037754320754313568068078298699769541206775802696271344964858324215354205544804057938369173938630047424306323946793369199066894929392175752900879593444492778970244333110360674519173429757342430574363341754250231305079612448242605050921850823035793036110081734876715846431423237112537675641510840171489851202199912878462947356984338400606286641557127256168796517817619901869510979051034943963956226548342951596598025859970322995955330724922798471393669626275060625789726534868593291931630925410561884415418993471141203110691282724475314583218107657686010050462516331527678077367657599606684695030454317791422710815771672531970236330378915127887865229332418196546932323672351878423552620469917394106154683483906272700540789009755851590377906794594958423503314229481820005573748721860301581354860625545895883583027883323300055980623118510766387899356059308872046259354661952505598528849478186255311041923008457698428254389888402718070983476215685070832130944776878504851798496152113004849349065644778753286823709141747423680543794043043961298815272262724711153619501098436931996359784658616081751573674992665596122392723158385966700949211011962941036607501562794241975303986244175041649827611355214156586881621430724026450156704734918725342951018011112981972846535508957855744 + + def test_exponentiation_49(self): + assert exponentiation(baseNumber=810, power=419) == 4520879278238875391657098297694243162481839731147251490330121865279770373096769270558617547787637885027623607731880643416635997258496850469237528988576202814837471909254846555265440513259015972011257912385560311599556906842291568137887935759971228309086688740388386648456861793406213633456149812150495695028642818606517739078702983068321193251580477412912244817234382584562639712114124475800764956663686739796131708422193236885699885029682532772838766317848155930683851469781178742814503673574022951992020809648319085598817371814324222797227608287190538761643295211396572406445360066366409810090070653178359988314135144949401372764136326739048840275456806495497637231468473894799340399098546057043365366440288385469562852652322972979673420393945765305079372071730805039584071059668816941072319677592100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + + def test_exponentiation_50(self): + assert exponentiation(baseNumber=-939, power=743) == -4903826020212778511367843113641431326993980583132130973914857502777594117070798803100228837469340395249306984080072191634567226835704288391959188506735066895677403302102234707931337785189385433657116264813969689351445475513414170529086730001894136529869900483536620318541578957744137738638054981386106171021180939767193027145514173690614242895816347211867373464780337707392096133093527681380116077766676200650278125348104934950496773122021749836216170627495871088590998192755622166095771272949368372088168982453183782528251065840187021059049744314086193075842720599540595204745875468143997432980107609714038246922120554796695724396800952449163250911803081033158023819892997967263897484247153083316567516657563723357183952851340095887737562445500391899881807959703244353161742263402601989248327443208190357257180891589876768110367543807428549908897767420609937390904532255144261674348234225382243698290224865160760154577658344924306013183149463531164767602702636253089977073216716872229663657018830622872755363315017425132857920039952893503624021305440058260056981386274095344402291168171546927282140697630139354555192150794035851546850538185453199139538176219959884248993410707580057462797323174770390145294297007620518339718206317950954690708753295261599197853985136384265655166696193719940315799675992193028280672368314401687155524555953563072783758249360506759290617451484667734613761424674594656636061831801943870048561060013811551542432712995904456810008711731414849358204368263839539990832300402383382284012623567892083714517024172597081382704710602347647851651576227181572983402404552397743404631358493566776341318620404565938238030320462085771546378930928947757060233425906665292749254025700317765968431599409534277228646770964822953006559522181281078980804468765786433945801916694493353399964195953260547730084141600886180193002325975785883206050736423611772264684293641610026441068785023969755087400117621351780893616439445641684183691355567553205154174794541926227734168329291391893661653418760570498171923279993737768578273079316723171126573555360776488359572253237901076890169346962972606482832275972628889690751830124792598968840004625939008423248261297130779185134191998862766429396648323251619 + + def test_exponentiation_51(self): + assert exponentiation(baseNumber=631, power=590) == 104069137210264908969250804246350986071410973370749946629128944280802049432403457441932743780223462813711308689034168203726812763381805171323159424298856381767104821215963591445053887417223834742681551819040582519317916548261322911731670850697240875557827693021485039445348469923151056967756902644303385248031620663458488195794865143383396252560336713512551831448546146233874707767308767601559522397994041791155869449978530653579346989260461481020531919115932947226630376296223161856111611890251287097039673855136315842595603139551808011675340939421080326643349104776451856016870822112957510599542904781012741863644902941692823472310516396687191088424823460201450779156402159957264029792153842280876658491210635262682510014777106557709736115355658866762080034949868219856816813360169118967389300560450322278324888341696369036052069519985321030202402748007661657653823177463704372746802255954115557396432461969091508196502263204669378469917567893063219357312619453992441811831509930884687552822331937377922487205557339310761685567370927918571964450003200614220256079360989864303262934399456586629636438202140861230201226896191983306442802640482498935949115586091079539778166366835137921172791081350293436502773085403645758759538121823705073460298354301268389360731777277475989844063950616613997246390791386736237109546226401376087562462333297193153488781397340168136750060725645011283136443492451553725830598440338193554547224486672758143198465620953021855943581658551754304845959834211122922183983616833284772581452594631199338086852943864211195497907039472320920633818585781872080148492043958796814160403359134807824630510390449818512571848954521841201 + + def test_exponentiation_52(self): + assert exponentiation(baseNumber=-263, power=263) == -2807772090559842916100080824613004627087784708214719019773643834217869068968820050188772028593997690455594031541298815346162403496941670040284247953190748206705914067119251589974128449472547096378208203772055002586945693137827940898493300529080345688037903935976867284367870671474239638448293361840290058697326472543376981284274773150439982830932018164916884041554872815899409885438605706944840276198738860811317174950393394272638808355660992655924347749471115572820980476312296567937698168697581271843341237074638245980578709478851758438152975940593696919347182969139800919758170808851468320868482634001140641174364908359164125600608247 + + def test_exponentiation_53(self): + assert exponentiation(baseNumber=-744, power=882) == 5337392628239694783872516716328586206462624198810356896203277919809179390330156069769132144109974573571649800817755193054498320119875652307185160972341909262437340338229915227154304237278551059832730260345849892886058470142118941729636264639336372266309762297040510662394653255660462421500180478427710268174501726285454216897239242368740373783835639608519621742316020572117886903514882148572935409523358527828732216075704026174657853767317865668423759623308463747249940680015464081664550994717233443750542426785808970946343306477291410165127958183880375075369407454201622569665434678103830302671386666461917630264924844911966509285355766783986436522627961756092403235013859782551155274267303912267028478749190939454568803210874188801365056576524479943243509552420087195428220812506097554298794384518963850275428684995594920588940421130355222428937936997092992360069366688694475740264252490832218390595130667735825501818655938282950741407965330540195429074312635172163796298299823082744162763774155011134326635522214237746942790220631822662780011419185822767091978718038122771477720541060191331518724412633096956285206590299181313039119984334521264056226128047535292249833692065576295127550429271758687685778822284714654706859873728742672929393098594893413855283852847587877814391753697892530296510214848853272909819192952531754650702071322900559264819655230554128420728611557683454718241699361835212973714123562311425260743953550344194408170671012916914457051402208370723777569057890249846774195516757280877096695743776753454744310474444229960567071261229447899194209703029490974867414453091427093146853159602306085236256847377793822940690090278525443759274278279450322556296797328876596072697295412325320931218499642106373038099007748169758587411352297957667874292894635874249412948231469858118460013094523308004383300278115203089345870325016873445601710800043957267598465449860316717861953004065388167878183231428884206061150140904370395324870422677985079867206918279199678932705181374773751528789876433876034278136330101633097404099016500853010248747523081141589594064075694144208071013348453322863526256691915689315580197336464062971090586448436477668543479031175083565572699754190715701747515752079321699843333137712297742286006633688423286199209682179943625300007176433388070151771470896284363937653834704742904595479928224404765366369653550452173174632590289346284967793575959387637992688627160689844271638912560778755852420845102397077298885404266401373842928407901007479577163632450630418080222421820486797793720223385255936 + + def test_exponentiation_54(self): + assert exponentiation(baseNumber=-64, power=936) == 38411003103764009424506042390374159121235539152106637918628053059793340871603435467037440081116226141832251959002771474584573127968745088301418605161472608133674571057682045127438604831961211480097293108672785354704592489616778164771460766428725261822797795972360970248893125563953483578384339985298739942934105740885368644243862197700388524539971269628208075873712836612684781014027343194125519384672453160477443710354577249735999281332347777923404607517938854662321957137385760853201687612026631807828758261559644374684903958507289040488061719990313460862864625435236921262641300208798687277179400378005818058450953265333696732743154477798888039197047968140552780660824911987593648960309522661654518737531882388165881573194954700467066185131295748505079697066156846735147773264325019540235111425811454317564784560412183226505285859146692241669225576343949573449515840293952177561773427967339430092839588675759547110827394854430649099210762989604539184784077047673179987210463826614584841839417762607451886987070755270507653217841057091409925290082518228338608190368408951517541240677300593565395842305973392221112082087108532075958696303712894673088250893586767201920026275908292621519710772380226135737733153188276353813381604329716268736623944374438259748771545113099812345913614203369836994327235830204893926095906298345087481672661659075164611057834627297138716222785359183904543464958099807174769716907870131735462418777251292080826045638513821083038408326598361423599469637379763003286388874979518837160869096968543584665120428211611926516932509280252726378418936330999093780602183462007424341298042883982544795507643814875257016697061852416723482978586753551290694258506366017601536 + + def test_exponentiation_55(self): + assert exponentiation(baseNumber=369, power=215) == 814083072108135433053554341064647164231526750407359315573776083937264238201646084842485217100856040286842409860259101684612927675019348901247444409849311099084115805848682381548728984781499927378270003388850621862843854694144944992301554602275721232110941230830093002255236652711777685752795207219282122476995102107973948617929725669259221227317666402705427914187630848042261242876479969560039157960535769010744803566778380207765607378791803356564480080702135176992311044533085438845026918137407242489428868170017837982827028865268385829712730644460049 + + def test_exponentiation_56(self): + assert exponentiation(baseNumber=920, power=117) == 57966329267052507163620194160690785055804875895519360779749084034151579733616666141966139303571742389404684494343025656744361427221565928328870348846518494255167978794762379567256431191613530669006158746120793532567797951419645952000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + + def test_exponentiation_57(self): + assert exponentiation(baseNumber=-239, power=638) == 261734399268164040590589197813654510952800562389278335412619475447465644227046202368940819505216017319402488093474531502291757083287673717198622404155737468945923125981465504199071335051840191822242675140983599564046487407475762379232569833181940891819660643380840352404637224548372465489814734908657302300148453894326160044188007153435799199940937622028696800547975678400976238663674219803856476306654808973245283596429833634027274359602000293308593954231321466505110440875097360338379088634644276596510395168103819845444609027742258355785350240383923639502110677067605296011004580944288788174084692949680605388240486516658805966595131945154885360437091120420694069036391859925164967727599469325399502216897337755821816879603857044073228571401632050918422416439195082236558034086131875045851845022799812979861542243912892975822877409883847459169984867510938550680579275748849934869792822092103856313663850977400340591222153884785797682813414903091147008121878547885278043849059887518534656876119478925214196974623155678748715104495897428587471988297822440047951793904007698995317630671299001514324434597770583154738394847795448199259650679495579115320155517560387155007271216508915288164871044601719548657823355824844572714507344526379040278988922182213741947001697119625423279986442316100187887325578607386716629128306624379815391454780077674380170596466365458463962058239643371835239912721425442771563820962432945474775004080966653880593627752087691432400978451277442489781460488949599400484027846817605697376275681 + + def test_exponentiation_58(self): + assert exponentiation(baseNumber=111, power=236) == 496847368138639906402185336643791646267826624720819783072400331950078592256582233927413961625096954756830689046314420049236336015811623072562126357107635845197024183608129277234163910022385933323361281239206533010022653252052186820188471672078787537378891741521466230981649882387257594283483788119122105686984287368628116691876590092734576075989112325813905414172495743190930619285457193154283919118091253730424946735719991999047171693327292256374362016952419896783929776378788448961 + + def test_exponentiation_59(self): + assert exponentiation(baseNumber=-883, power=594) == 7955324971383381629427528907165193993947822016184782602266320906469422231057349137989879968520051339592263431732013884554285941641788623178649604713359906350230053256665214018153487080492122848366139453151055162489873134531582808764000892819534617559884638902618014082596514696713438495793945011930339317225168295636380290659106769795004071924172754999836156842221675818270955048906554403892170392548709195168398015958674218122941591524951250717942657355843286702644342157678105819169436840819412751668519587645535434108910422791565193458020733131911003667241613860345020761993820252581191847298783941602740665652813407198061369179464742096981674192394440299065499164460258125904472737072980359529975520324709198178124235108727698219608428049467227060325134926150578491652271060458820971906109017872613090545072463341746479948833941518744372813478184600715139683340132481321715548549869390266136255661030375106658057003887776366169633283230058854064244895916702658121825452830815537785794731801816615088570886052213016911910107159883397157650406918328847604266237211685635935045773521984358977311633389000685386876929694183792396260385922886491731481435502861792872842924030540385597601369521528811945513490843215417922964476352755677353199079163161157709341505779765727066755452514177385811415465553790739268610468590340714268986290161061464466274674063470150198393626019791495357753429822331511937145397283808766251215635193824599257325845702879638166654422734065417937997993125820086719779332968808326894687666352231619019597679676861834945567514824392320891356287367398963355228723741369253895083856491414376930371480086987155754959200355371035227491880490967320921676496037396700952238835214564327972683556087014892249639805972086157085690756329 + + def test_exponentiation_60(self): + assert exponentiation(baseNumber=-999, power=895) == -408424665709298873379002545603632079569850007029536257276418718320387642931058461558478895440336520613460418024423178633536323747415783038222686464210456303499293570978900773513995387573687684014949681961179589088479034423901096365084920875637448935996004367784473110799383178137776872518302189904309551864947479770855087811269691617228185103959826585885129406517798488539024147194934490200315791967236840587852805718899390035206092712789838425268618910926260606191201818839742627319439526444899211920996466663668606856664390713716010462682803874422600110775450759750277337118060855180303430951458424972582334898074379477495191787931393329138164568863695086824880339966911387614792685705651658738566793738276170109102046478106091421149339198871001597538022781588416665750957815110772390956786733663727013810124532386760100945157289600365836128650798772025067494872048445751741428293037681576157078602740381627481828242256276654001446060560338502675489853673831930300498168639967221149095177631568892520944132384006039806344487585016191928007755943073267689550051194930772295272788874187132211720907880240517779489867358151446245542478667017960999912636209554834519828445729337176962402623288018414142112562133505428612815544391480829996029850145506636665523644067578077299522702578982935957657676340876209524217385011768273925020787841797892287808516085255453740506165191148601770059117459407824537843842489091624366821815673045490797400574715583057788823385105412657193369630057664652304317406355331086894673800273552351494377195656735274443808719089076462952813385552939966716104219037090228486232203920752572612467209748672430294049098537323153458749312897123313652109340861470901705571402673971223888742946674773471925573293522625289015560858013438735931976615598298413537907450206668965880947096251001016191925944877751624929215144400177257241023886568696270421394748468789465144938712473267072395304763105843218667485340788006784094827881358418768117352787075394286967653798391493951934675859153146900407924654253258191656858303305815283483907318809749508208590505852858943743170293884019564412407378342982603952501955481011941772241964145097170310064354421729240136016903458765054767187164465350462222731724938776939203120524433445278511616953503115284076229085338901917142778597215086242350796263183187936597406488343903421644759563637882302251273201713318070398475760123076015534753032979223412149675400070516162821066880404748978926731521776930581449219948712903079155881617518135457481412003013221131203279882434942435692269990603824536398480105077169347814439386094313680499718315552041166137380261842924714283247205731204936515257866080534420998378687574616740614935894999 + + def test_exponentiation_61(self): + assert exponentiation(baseNumber=-412, power=768) == 17420552047889060806698422329139545144215308561088508819280654764114821960374465704999392190624942820207212637939639221440677539118916515006678345803617845489822027490007042173683431252372512414619918612819103874611059499936738318818845434633943166424106334731599697264919995738801230081966212082917248563274729855120667242677760149381756673137328431672881821682296701094505422572976173939053628955346912722973999075762582051456861257428675755631520686492949745088260757626951055025982135533939035100772711706263442162524630229697324465582992479216397875022223055388844622232788757965330254054013887067013547005717470233558764962367628392883405824703383423746290432278451606102220091567575417881623004215152606272295201858690774191522197164157300499971037314738866512632668434324885458580340509579072735060674436372424650980623761889044480415165521980952708557404583719585557440004978679162724011198636185066237609622555539810372789949877365256213373240646216553384402118211054299913910242240411783312413722116618572196386839291798770035538087418093111266126721629887816933909320077011850269129826472171444696519540410478025182666561317446226564471578845458656803075858020037613262631724311159293865829493870588761531413746526284324381041582179218236617758663875124602310229773734675980584376686058915179274323718284083586602027409861152408899984226420506026730564621436517783456202546848437572637984673863167246922710176633105741881455364205234692581763932052044731704450435002461862960803295428798309159228480267314321959309330640763515187825611272602573725167601897023502659847525894798118551433202665391324234487979415325325401239576469965375038791002293629876169136854065858041068087251761959769364936402038389747570130546993487764637854415735471595177577139957370301707429215920501980213860662536725544005965495132935361665255333377335932248055371687605559201955064663457227173562784009033539979487073640882074067224173080102604703048155217989315431428409160932141380175082263357134531768792509837213696 + + def test_exponentiation_62(self): + assert exponentiation(baseNumber=117, power=951) == 69944653104289564916996039067151019374113013164795033545389533015607448839287031477368259447174545954371242607987907648170709251227368909626372934067615392501759587509095113541087512611413692296683894324990227055016430557181589340636164091888940996057689013137687353510926237916599789173999478003681635873810771769910991727117091997413013229615796891880382295849341205727976566286668726724160977979534228335982019508951277961728407010871841679881470683638242814909778128521439191388279043102483239942421430597573411626314086080891883214280998041896678059937142360716415390541778274881659796427949033760133267029288357251793992785917738927560977689960093741781387892710693315944582142814719581573113477411930098989852460548887501896196565327898288389704931833054273858693645660989361099930209183629134364060431882475497009446440799385544098907982164665038529548349420480768427763433178879869521799790163279431594328398258095666850055023429212742710329652445533626796987219394972632576218362786360399174336851822555977625633956487373565357088686205825598133603470335123464465184735822995723537773083744456176331893090967944775004313975729584176094363128381505329151850204068428497859678581664069785415626444258827232796015408799777052909653354126730726962661769199342726522262691975678761256232486701816638545364318646310836429712597471087169020195465756356049767009972994334308502879327794728900753603170335950154291284603190097246388540269222553009082358760417118278345176436722399867030480047971474009518880599208216925938956228332332400601425944481248472896366183450058390372533091856892896320847144206066253528199674407183481031262361853973373147262187003219616129646625814220615745095600045474529467251744152701591813833759671753969296088915821059116867048781626500077039111832398555746648937798827845746388494509303044296393222256150705234005890180427415298933189194782372911566105862364697447180124410894664016450987228153641653020414223771086160600119369019133 + + def test_exponentiation_63(self): + assert exponentiation(baseNumber=132, power=440) == 1128573193817528051654912194382865306888080528351161146117499669160562662744001051559360269938270997664325327514729593223438007838393299550699381266981126922573816646655629102900084870600942516810727078741021920497662282628003709442754259301560982082152955404497726383347257199358143522898507001042449419878793179728843946310298162062145521467071244344131970833606337654057381268356299304793832210647781191476119806886311137654930453451726008428440993415104784018476356315601671456711142664819806996397689515561335343740616658917936116695823991866078006757582450198344345974798687177448340537092830196821326298559610712811413058887073350433288921035895260959468690958111597062370386435328367139321139456350421221733552702642190336859266489475471067390521592876431556336652566274213865995764713824728843259503320502520106507845429002441975709889345425270459493103021224717084277790799037578079279219237532228772781420517705608515813376 + + def test_exponentiation_64(self): + assert exponentiation(baseNumber=138, power=466) == 15263504637538721211219046898002624944999824439083311082698593134819078385770629237337710440061264132889215920794746644325498917335379397267817156724617808719660579367367933491228696105392654892448850667251963639289162340657514172287736021516901007783041286428288410531442391422064916039063811249721712119801001136931709977139059228687416186854753376567997770498562751521398014819348566810751266068475261704967457002852033609239038266640617008669562556502567402187263767989271803911788957321129522306577531424556769189258427045029013407520124450163741309359169624835258889354719831834740304736546452693050765414133024107700178252876989150018992988953928004677502317210617737436821101512319937424423668168719123715154113406449324280032890387145587178637730067949845933411386821582529669532559772175828994157743658248524472103758826785959739485924102106585792735479084663245340894420114577738107272983024630428811887900233259803040740566528776621826748826279590209736444945461405575521570501148278784 + + def test_exponentiation_65(self): + assert exponentiation(baseNumber=821, power=492) == 719172881606602588299230065405000593772695764566291906911593828525114177943646540606622284622812233290430023226989071542705610871697366847958906493323760488768003040905523315325253234370565625176034534939285230382630266499161606394046838544112830809727098071094327510992338231500942941041052364668663816072730338714112292985062704196784211222879520349833568974438670322775232411014096568039959298838049986948597964034414642830053332734418359910245957950281420690841239077787015834742857650903941052101367223825948922551768105712250057851878259308851266375723392954222210991149031532156523803931947065227615944561676697268823049133265719103705620096521904873977944595183104075023774891315293510742612923727296974967474537741924706294849610907785625776870192217505927024979054153799849735568496520565038282730232875951885945084905405363631641039390308206446861393925908681391713598118079632924625912320310425502145745065439219689395148287011671427294187777264629697424419206018705882819271362147879126501206313867735416784016325486880712498800802463462649541057832231188588349425831637391114613850959869415742074741866948174411652658956293497603547269994355929811712637584778162780603507557870134807174449243467070445913255826697680259510921572291938423392626896840569958664067023796190045674870297524571638621234588764568210888621620549151306739438504396705017858400332497669503839120367106211324543553360101449726696271625373011149841 + + def test_exponentiation_66(self): + assert exponentiation(baseNumber=-830, power=576) == 24489572762204574747368358798486802707964581381165302482668091494774807636290062471647582900888037337715944972864302010464226478826606903259152299164985420303081206792820071183271467966884007199450366905427691967432717771563969023538569043430958807780281822980602183789537320736536368433997195652679071450617352546178445277126832272930847907516548703376826802352573695629698441478893521925431076179930703603356409163516984446475193835151083873779586369481189778269131279752507084504859473411900580362104204230152265401908749496956496862940520384979462891093758056006063724320269220674437906540437316345673950007932709144884829996158816955339955634667698820529456428057561180563092480239478087591883756158090679604096180135429746200058190000360502898464124575482008848834614204396063923423370708979864140929346578450903989883237685156158050026728032563357326187959673782280592260598521219277081665222167687433358725810329016523989763911320915000750352839628138193972367621216966671817007575721100484845857634828255704381111118628995124894901478478197715483461285163865927972136707865491989553727628697780481000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + + def test_exponentiation_67(self): + assert exponentiation(baseNumber=943, power=585) == 1228401254625278071255782613231129591355671615225080508495046059279751930093083543514953852072935369906796555993789064480282879931572500689310961924000709768369473854079067227015577299410583292968980950001805045947259805855961804428425192598053645693904826752376694083344650248674977179910470755993489819598035670813605736651565986803031106004500828217842819659482891405593836201044758616528245826327898381783602274022394584472586849849520602391364149146296997398821831323086199333555405583396866253132432615458962137951506256581243657781890043103943193261471856312550758288237412009797204496146037987704868462984053868595764347236802206281402759091551351636523641648953790796288673857166698713106921698895687972575486596127317799045087799256512783524015936830948673833910365925618681561847802142358599204761475611569046681294336848414607648363850869376790133008341768914650819019097331731272588609878421764699676012471169194438072135799044351295224396001229965454453359186773763416415161919700773997487536224511839164186996955986751691987958923157319102502924851755412874229065956607751102983599666667629420087439109667864169551482846865389585048720300582056593790869075766752885210463958687218162560932019283768769456856427997211152805080852096852081984361515769068661685164552569573902713903314924463604901665002628764972754287942386209917881410881339762359461750056047349691116513306244387034449031027249918297088471666834090457360858838135930121351557241602824604959819268141870079587079783547854375730535734546299020041947348252657643592353313214631694856384319997631517620275850127280528501390007799312115966254343876090758599258084813527757624819087584745780463600191630216797395445168239192913676319997993470670003935935191933552943 + + def test_exponentiation_68(self): + assert exponentiation(baseNumber=589, power=576) == 385842264130599140032111575015174634305966447270359521469714930933605909941013054702374651416781632537919163834215947681014432083226631155073362636272522169452943059237626237778059344523233001122940253457681337831372938908286986704701832172057183379836272249898101753986271252406357142208737599635864481007852119680175890096730511498580796116994824573649563353489848438380013412028210028718337529374103954939859751847973504824092845895769159724057380775042306345531722321896620989026723826427919376274582959127446654446235332078336692556629888520895816579285082796140827735751108808638724703472224198153029271275204187597888112976884790939639216653520716225570519583197078264477798279593384036667605088860149850328105985056512809025705862008823957474954698317427827633275086127559297865752139596776490817640415794985321753061210378219935629748503158833185431837191884192720353337336046012221621193906026239497257452826505202192406467811453864328710879412291984618327322410471371444889636469916736755282903734696782467908555184766537799464535009076486320605890285373639227785995999187940619623411217857639669533884709890326220063037114100127520573814031457970669790995792732625753880714838070401634681415970042950558845225763223960184364028291225469682870459974770323486126374176182549530408009103932420677481686932129095405085625500775470889569157413754071050053965178715813403994302510952881791598162308257768644869728396056525639993349498834250558447150892633132404689056830765840885522610118107059537262120713563434486520019307287830392375812307461174180799492296017537017044697463434925820161 + + def test_exponentiation_69(self): + assert exponentiation(baseNumber=-669, power=236) == 6317769737405224779790088686027446843211091791091477749280420184793330371866808482335410114964092595074035278441755227508104095778274719635928958808361626577262168062356779571428951784216385591675047106798689424022896802620176286035664174935490089009286714233694593657106697558437526512452111030560340862734505024066164145032048085310708184062892140868722885144285174066160027013103264715561759870638496829199544140472100843967138894664536117738293495366847931520072660829794335457919621476652413957059100244554327890464112667369974312523173271781337731222678891768440045136541770768083201175787673111754334551489116710509553021877903367710200729886128423291918768881 + + def test_exponentiation_70(self): + assert exponentiation(baseNumber=-14, power=980) == 16049997336633687259510995954409088741926859388641694848973005814403981338039283542236437639873686535698000650583525930989819673446362556658559749610334741981192129125197173538250023094023263265486659767749470969080681605739823393525540349312531491087655604830577159811934288532411951525928670336444540475951765735014891189960397142575355924866359942359909899970184603520886402764236417348559640928424757114009562731847623282128833881149257506577911948267596703996000203033908672471000412131408111786072655978368912269416678524837567370326910183724495991319753163736635858486664662179258821112413652825712321907384058960976084890725176525585008256057429410667899121896767842882852519212638440419371002747620645159529220486054671158759892867063736364488078300688502999206512022392651628922630098137508547283784526490730608278892549185356454930674427974305255058987591012311354049755758112140311331712364308196459414696702493561220933729997793105061213334184636558676142353791270453426348755839607875641845509927737761260075670633875246601087263699633820037030287595589873077190581704317622546200664295987251431325721140658176 + + def test_exponentiation_71(self): + assert exponentiation(baseNumber=388, power=302) == 67170894145731805023020204102969953456998231775057322220792075766697540987182842001527512852218230351327875267854934576011886444746728551820537763664725440921970559958985235121785454113415438532752626678788141479855187900644205208777908196964794653153581969595086170409723182527142142284243653605909608490306883924805580618426851381784466491165725853886536851927144728978777717441261823148333499428565425406982160920417896485206236177065290343044208470387667356506009898995083910051663729231503266826044963072201542356493892194661611801443548266560723375111084573785060591710051186195915581265631063058505384367907386045717795628416577587585924407251023665023547557581800708949801736698038940074710577979160412386671615323220063293439061144812536162969989832945916619085152249708544 + + def test_exponentiation_72(self): + assert exponentiation(baseNumber=945, power=443) == 13070468946076620404747544137650000994057301489668623178556498651478397412541794034790934515703170579201540752252909983896525569370929220963971946574488725354249901254258903189337126152877315390794848818528987631200633653430926239382213772387147461591128199324173782934673716975943608877602596027653637901314185880313989162438835429405365133908445427678463047585457202795379392743034144389397230532452188745082887946464592113515193604075719933631340447634551602943374862638762897004758673006906980340783290537536327120720625152764541512540499205848006069073291841383128848579797218471519381419800373371412367069678160161038012329769813607472233301592512641084175444884671705675580545118302034528884104841345477678587789730769894439010743624829035984424492740216261758172011053311226917497792810624901308943286977945130568744791507760326240758815750864320022695570104845416688477451234616619916316482986281797235140854103803714953487143467190645260042089292899020206115788506195214149372007419208056550485438799591949043964447076571639860338085891822608377857303358607689710472515879012958298225892794196312693130051690102545870402240085239134047460715837134848250235324121681082216139600890160067240200765612115770924055913472562709933007736392417234797900033865230081623560521621174590478631216683425009250640869140625 + + def test_exponentiation_73(self): + assert exponentiation(baseNumber=-493, power=715) == -242966995462385773895616085092553178095380181419842767460530522862856269616204379645195565127815981478279263431021990387163388288112238401715270295833475568282647611413885014833318722709394057610242934411635702125260314792858449443219223681308237336526447367923592543915428421867717808647000705568611853607976654147206525872936004995455417717724310374298870770843981842327571798044540867669786228999047914674670954157255310409963797774413788919121520865844125147536612883218514801271798314811970569838556424882441439037486990369686341707357084513260710881098362938304760733387948427336663837418031931360586429442041477802833327262307684483220275989662850921635415511538471325184978264412662756010613375044051481337144183929875328683436909005249777260157303560420019997625880095876411618501002995492977137580863831078746758429353301860474415188871287262476778859178206762318081753383255409205936109023272000543664033217927009822301457709146362478479912980799830752624895492308583416895198422215216653113115245917873911099929363143366704784949589984860392487467815246848021054782718157052954262810894606796893134455572504126565054890577325121904454104692945349031326354137361931563558774818797324189552116078023695129441472671321548405744553621956162637260551839209473390185055487125859774291818242713681978956165830660071909859115718200827942360222478322095375184212716532595752657821145480712388705987715888596048391960464900346576701467940063041082136072829185002806461872222007029824417045553990403878081100696192272205652557701076669927062876562651554306067987438727425537801129508144683328928117992602731347808700597811674372066984517826877683871799849596792687314714477520859218599310122105721952434845017609042600084798703731755192832577940403517884214742593547044019760307371126457120138278652680130499182550241783328663738781749324665590572151452985192121186412100094754474783964218724378370179662359363653568556697557 + + def test_exponentiation_74(self): + assert exponentiation(baseNumber=181, power=823) == 11734568306965583907431794293403616336133594412182884027845141594146380071422957679596865109452766855128936244880624476481338410835452565277362523758208254185632055587368213684741796562058080732862947650918604678599066053976703160892577516217835202994667948044985272575074371547547459309643142039070159204861600877618618994148354639879515311976718371043430959502363083052568031461831184698097821157969066585780550767771177414995514567213706080872066640011779765351929315581299203196611965549539633055536925663572231101571593865473574835186184063301614374036012012177015846263331078515504115874465522783631369559272662201982793312414301153017667139052532858603878843995778225299644362219903454213364979222383387709728675422973349021415737235536908500441522436326600508918887073275279636935103963826347404091007337270563196358795844427070598978918837318607988588051055973395968657786908408240248206271539202255636065314926671647088938843934735839051352115310764218389287407773157209695224537552528359013674485247673940256823372487589276158885120997493327895687147017081799318820477508832107243658801000530290352355322983098425228440066173194790447617214995978268114765947506479380169440493015101699273935689209327500094367578326245480267572822709168339121900663915647654832405622181824037914540855783818400215739738474761568512406546027987390437506866603069696434606691521258102038354032180283095699598344555178098285764528383248207100384113865763364826955309159181266160512389199460470836425605340053151426050419567647575027918396607906494643806713581826317110756116360152684490742061637583115477137374252980967305193485031184655797209472520553313536208903642890292580232446929042357836202570314411406193119021670542652794015018218874934515650880908887911015292656621121103811654417185061064904167866374757301192876872677593804507683845697170174629659901617341 + + def test_exponentiation_75(self): + assert exponentiation(baseNumber=674, power=148) == 43819224495272752374142372006422075190954830534349707787800393951063347220387378692450605364784140806031958963702344387428198207768639559576925149795651326110463793397889265517085023153795149446480941389945858671781478098318512581419191685283765545597011839646555715504595122758280637144118388755409215598571125562183333859219095941646416095107876994832841559257387807583825845849786072740237624135074074462831536766976 + + def test_exponentiation_76(self): + assert exponentiation(baseNumber=647, power=529) == 92974633215038746981283383065993250635943911782000370451957799836424697563350634173506732645627535897605009690854240007121444798607863181180381449091154560541589472189418823641066541577172652492578077812775532175310009404377856888493018537807951715940441691847399912843982498014842438657766270406573821838773561780182245309493530767655954617055357368433107489284384401191667177932831028645142132436722291814933667439874911026876205496924183477946872138521027225049872328551569133545250841933801929423310289706670599407077934983106789343676015019146608088454104947882853828723378531487301220816278408058534460917646181446438520515411765745730716407914576580517473216162400306499206286067499524410527560609050011982481640017859986873153681200842093226506389572657695572860191975765921653109553939288599549803230243873060281768373906444385726601060855269884957582581565295390756921800881771012831379143487067369334018703576395711490020506671490502170955283411497734810381655708886029696203229103984106012105082098036671200133736447831146596354343841107478784601603758694514997456063334736267642525358193609915873671301847610517867011073605376462176855179669810607035988499874246474986838288475666655457193322999938691747086883657769533229297894554385196299752791462637473526908913956133598820038209481695333524438484405326479182156181490188793692122648818106971628946881987580993490412335823459650262221301373888687156765853533627394681823813011412144543225011349782472758143821674004424967 + + def test_exponentiation_77(self): + assert exponentiation(baseNumber=-549, power=630) == 8522696115596809358408393747052001931614742707749128172028593667860502752945780576918481196569872328530151770561063957547341414506347446536191380110541130698235331136462799378454581974853434007362988364515713389996314660233124138937434317724924953435017244727810327144139657553018188141481478820197613396233673593404600753954705720692839651129847899782590186886910829736105052120898974340456966993463495315409611826679017698159824832559522932221056823662514983833934407835198709957140177432792020501147190299583058939799064356354095610801177474560177027396162689167044570435618559003975185563914387711227748703895439983516541549126593323609360224178186136885457176906874634655707427702762795718300383120288875129432314848289034111941038842242665966884275929381688162985194403461648090464947203285752851297730312810325221947879797607461756008739956656613090243639450618830906678251862693889639328642767636449178147617432396875086629171439632411518538774075925317415138742382198648047591813415834438088726642080025125879291247919891546593835922048984542229462361677190142102138220371122205181491564925294568825065090433304964584024277096990871514810173077589799663647934702000956700718834828086021671929167945240547425679278941644148034772241299457946764702069492641360928070373963246954150060091444618371998628223374149603140724149817182138484500643810828883891403304131526782828816073254776269395678894744332837573879631001404464959292456406941023780471041547541463230933708426331012723254673571120557292984559435396910822215648977076369540678124442040658753406540994519412304345032228662027616268534883197374735035084881781274215547425149688664918913263689852595471161773404058799966494292644706964394111307842915498146741001 + + def test_exponentiation_78(self): + assert exponentiation(baseNumber=-505, power=979) == -3328581370416834442073943427799101120648945170713128606526063351200267564758376482453206676633979621131835405225583523913773407633668025956668325878119517120317403200700320574263303370938716085781815719052854499743801334546231038648138819089777950678896275929505457795960972894456434551132034246402537467169129314689262324644307794552306112821182576142486334371169242174367189467758073423074181134009558675299299976919959583121590554871854450327335513563384769387427700621290248199347480946786535526042214303103010092267348967972977080875290219476177519793032932167874440294554865228875067617425509744849271238546947660603318212125538246205784758449405071053548230818028553933416278410184297034972486838695982011879449531990449272741782404033750956329032942043497048849831831193097864004106579607507093651920319625433075470186170527278572787574804891051777269210255876601959359643406904397911928737386521159002206124776976946272876926961760614185228808442241421289137737627711269130517398660990912362787748219104649984586506594423346348562901431571034500221588803290666950824769385828164726754936976505718331716022941190692330934949600481628939003969750888471398174798348628977572691874950312668487444530367901105927050710586397069764685252561113690216049861529152703085574180042767888133167838278667570634847943375853337755257155172940802870207813002445347014823669903440794891301327087313352364297511865162943169009370248178857027445108177036935522280772644144226859018094202703138643981075594656127480986758480800871040719797381980383566482577713398499757070113113304035104064532335207566337333430693520976782149677851867278119692494590066140007624972128106155586718349397892374746308666098144797401795060805077520483790289961306604514417314074989219121119410883344228669852927363457315273423445074063894715972393801855559126427138314383458377099371660499726932523013877274231763726324738862588356793917257908552497877175988198199103510263137163889305081775828251228790429676421150550297889888255705414745314442099964072050881540906151167472269973946860573482782754245715507438695803663125372070457299416629864080406332079064167973996014244419164639172862067587900705975826423711847839461132758366637524050412836008974636707586373880283137854850412759883267488914113975729247669173963661702785151236075186911093734490989506293959028939073813841526180962610399307404051615719191742317530556321606163209128965999975367916270469333290060019843016400708194256364004790178676557771072444578733557803881404910435183239328353920988912920123166613561979271566590561802698970272390258602982838503366268807665017716301836259162882925011217594146728515625 + + def test_exponentiation_79(self): + assert exponentiation(baseNumber=344, power=780) == 32778207923994068573053588856020536265057140593703776250178312662276326088188721888420400705232246378332427930540461790272673798315952759217287982859675524143192647087435170745261896181331539991048658121934304779809396726361788838567567696941764856356608139029832131778947418007501909907665955628343572804849442987799338086947544336631388682825619849349833117489854453029050557362498897585138782609089557490732837608096182808838319624567558524857987856454601296556171247690750998421031320178411195356859930527759947018181643506611140725693000321690905682222322756280797475890075905077397370638922039474922885444476274362750510741153346459809115230054988822822199149845442013616194156131556821547973579765566103376727690316932582902162257508359682946065555296188077246036046865300365290914573766509853194701105980339139242866461579857120618135313429343836950097777454460350425543071869271174994985906176228883180662369645961884811074016049255155418599409444488340733130989798210076378726099704055713168697902359596104200780688779577465418124244778115923455486129027238546646013228227894453763490399915253823045769989047006178020516498354892588531926549860660992549949133161934786403636483635790055921499892618345590177258873378211748800460373433814261562061317724270063684166531143579543651112068361071849505643821662376870710676458231144995018878108403915078155329930905455446055215345311695864587293796007399878564592549513561708882676494593821773576289603960622565613739291116431398569351369125455490584558534669124887706298276223079004806662788242528030070838665543038689620113266239543905395175510866167538435739699193466131099175417747444161872437384927603955755517196435196168343364237367751359153658876888718836217034739860389223812827474790308403857668207725130381379239949991484291696774038863434476912443945107428819288500522900290870245072826252245498361639875066818128009986150226381333983524772876626185214904537775745723043215645183092530421027542230301223237451776 + + def test_exponentiation_80(self): + assert exponentiation(baseNumber=219, power=769) == 633175806258853506103444041431400762218061196396725946609072485204002132284984656691803477433984976331538465155666698184765386046908427895334899415699222879584518746431017463352397895108005388664559114576769135865744699378054839147297199293501775065412290189152661937747354292441201713998025491338057521066312396229887327958868620606161164162029310697756190553247661718358327656047893669061019589808890257682185409009014698380462566513682052822608938297676746353492867572111850061834975437868747983014904805971928007461996712094835948182232337316276014968406933304993477983266852004097725392401822993314810957451070612628145787721731641369044333890654756957622023995520083613975705415647063801129148599552155365544381489390907099167428936226841307733672109652905695533784983285401696357141496990577411412005697431366022042558684582102953124756785635321866045067361556521461920388805584957114533000632917960882796889598721358901553645967481807181908117994474893889119376237696661696721414433525997731878921766304207304425684214950065203404860277376137701028582356314534245288251474593773406031092014756750072779166256736787757413272454423626147373602236175327710385784095321721646520567866443621448912115197847468630037615256250016153757570770651902249744288482228660917481233603204914214030516659874767070857705188504275124941550275808393024095588095904138302221836568148653609082581516291944473410349178068647640337281161695668312026121073293050315948756345904625618160739812263875063055031705171000886592161759301438081302325706577968613607737775066412903257166785566523697463233917972171457169389735744670399044636893330512776100964981200150787083827701140967075768411403086108854959093396905983295406905328151008651272789233660412103480407709013447801972008295197809979467443619401878603945794779 + + def test_exponentiation_81(self): + assert exponentiation(baseNumber=-295, power=151) == -8772520922898586547443081868477611861340564035201186460366122769665687521820495767587381541106861088145618530035860627759997426383549332861073116369166805428404123538570966835357053904533223425642449842175005378140946613188586749835869162897827275032471309340197781879899643486640419077265641187126087389366991169785826160914857219617901673558435504673980176448822021484375 + + def test_exponentiation_82(self): + assert exponentiation(baseNumber=627, power=236) == 1429353455913712368958983665913608534731081629366053605254760955098235233810551419692469909688735864723330549543235487179690619919223798512216061894334894591070883732882416495275972594231492525364677917403120614351577448011366357476059925063074519153080778026977075028094660589964766290440302069218236535700769519612352319227599017148576228287911541285655944566871445692019335926800039350679374992981292640367483148941360780715355429094419450128325262373896437919716833749825893816863248515468091588488067916115448764740665212149433512721583712478690837437952520307167037225444761605574420826548922089494028609208261931695645001615716717609124175315272681709361 + + def test_exponentiation_83(self): + assert exponentiation(baseNumber=418, power=931) == 20659429882340932487378149877528878181394462049815220129373480989507089883591075838924273950810664745686482005573790726283480779096139496400885050992359001162807066839374732689739532859301186267914752512416004061403509057356898593318087722436958624839565808254257711378909555016725021506838844024575422890394786816080562380521132942839728950764832248258823306636462256993708662959338792070716654530771845955801133178356214883617242896260346417895764730470726845311643437471846464827822472194827471497720667682405146851311997496804441949042435738911742469188363939542029733558857233878690980387210589619448375985982451591643500883517375127719023916702276279018008163488976074573500176359997220123184904569881629737005230483631407412288513177268290380611663088096978401570499948655305775961294551395137751491291512340591975795826973388715611456539037039907192568207502310157801092118858930357273745937736852780365227175111240241716071819063897321684364406944256263652517069731612240906450649754941578937891836920118833060859156577225000814771223968164742992902412501041660950242146247292325149447702752605085663894095017994858013703306848092187335604273437522655727408482043167760438051698809959241729125073274171133365042251850787959513936888550641077948836052152185200014988306115600368676190032367466769513703116716123118855766087315167556280404625794010384323238957210469620656140755688110000532046704297196941990296918690493193782859851466528097307655687917295454398293374736457309404224630506696174096086111576160416050962901519636966562183830620104802542917461853443098786674406337544396803052729983728671998048059660078259762450317166417074829859750167074834250907058653881204981502567748243881887858852202978297889645124991807147821639775861264122054225031735552088730122961524900047379306796873593995116107161786664825353370867018138018122749402448706474673084659205359976852577274613339853201978922465020441714755306541348072471437577552539385766749362436126881389832274780152669590809495292914939444349748037756074313902210898013443991657126672784021726078067430904424491253653063149513300652732793728230034582125868543265942579730318623721052096675038022666517487477361400681106613994599615088531473662723099599776211242386967349394421459037711653580628161655346605034238988125597311601392609528775912489261439331909031280095592461440974080713588098086219594227474621044514815460775965699798689411715375339182029692001518545272832 + + def test_exponentiation_84(self): + assert exponentiation(baseNumber=-35, power=206) == 1196787752579486192421696443053790317486496566872835852748242774111904866457741098344804334111271262746394339686347720720706936894432888199959985719189935002969708103506221919675983001994885575800027603535943063791804586971665266735912451982053828767517522666762502513043798049209576195295312572852708399295806884765625 + + def test_exponentiation_85(self): + assert exponentiation(baseNumber=750, power=685) == 26119533934649595221749539544207659737188817917947076867704748397746943403646283090905156297479480513686635928450421176428844768925681681047410959153275690232810127802693181724574489935439141697870380933069030968812316413966171258760077041748632049953244436525098061174458246293874617996613943077842971867507964994364846958241991263306404252329432679034307596095988033246003672287217084903981533990230993991087593341110960322181698976691137895161735843812184428201839725909262929258664387962157141350718707302963523161936666099798806876301470861121677118747986241624871073641304498038593708158864496520243722696033830498728574160727822550927998408855181876198047964463295880618638192582846206919342284214948947331009772190866689477873994249641972132789685189316852850048139299078996234576689267205559392372959029361765377050394239984257942462616423574122435294126675180495721399317088779342780983441277178449777302104021053793544732817099898804672698836936431906232637740664993078242594134786027347285371581725372802215104513987159643657685624336366044312827735721350885846119838282486701216349162227263057287555485920886772099143656470560065285028717684662958926088537040548157179530923177747823741690417935597039782108040338465647430134215041183654015810589044122025370597839355468750000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + + def test_exponentiation_86(self): + assert exponentiation(baseNumber=-845, power=385) == -69156490453878622227707836921366155631068864085583987818189259017500707091795639776115375182903954788791963834681683249946234653312282830467126735640254763393457102061033380598509552819660030371556211942845821169652871143220983379986719530323728015275492224497299142171193367496072373793057491019481320142057258991849193515663261089399001979500003876052909712605715582862724417024184460602349059358949354900142088727851079712980428283365767261461473417575938007448369738834099558081411283017603659667356727409855394201676190712054931482339949811915047177984484909673666988374527544280734682192019951219783731263745121132345652681079986628625913418247248825936410684135062708594708146359593479288317256668579032291075738761087605461781600344461175161066906416780687026332818157801101901911946932885672467269956441196165199885424041205060599502000399696319862519634899352080361759926831006604228541734816171011320424464253949695551797194810248243102111032821229821411962478213135738525215533837880138999416498932321542898629158173227249652873507352026241458393267312654292939987054941839046684481928650711779482662677764892578125 + + def test_exponentiation_87(self): + assert exponentiation(baseNumber=647, power=507) == 1344219833666445858401873259405120732398135909756817927495626283071846722395823312780654952832715246972124603361970581879403804004841297080063283406165784307733225797373666461517223336740280254075240088299009625507118294740791556799558249669268569440462147321356245286585276827702159489033326378686928343339819029203404549351045908024221582308151893899623660560505222903120650585137384358269141314868353620394598276470206063094234071445746875462094488645080895873816704692935450125801227786340235171828490499133003001859476586799465949897678656852391954622874491227910301959710721450939754275902213203186836068664459078465429316824766154984072869406938264621960549843762725788116889525888252092437669279397505660155327041098673112039451978822749414459326878695423187198541262135120092135304052291595049531476662376819477682810685359630849146444152312768902912183715998860682172159177708295843834242804919265769968117212556994841734024878051136804186273537175396088006661475765679747737268330370012562676715576796356050848816379742965324618871112121393501246218299614770409833257840790566609204756532740702393241933866762874581826701044598592016647842455698072872794811096011162614914092186915471710895991578680475460867881787359570210346927114205315919923833565115837772734803376973035479616024811177931814486869393786325857523949683170388350879771330797734635766352734110611932914312678889765595023190413888594032869489402263 + + def test_exponentiation_88(self): + assert exponentiation(baseNumber=-837, power=688) == 6840929257231333646116429532689351595139632947289625274000631818509897737524421828937772966051358066764804428050416188533106183729097815675745355461515185460756114522994488862405942055199976435694055807010205192785890723137880715813268296273425130319922207340946096186956401243639145087408444160077814599625291844661135945438302124296224395219237539539943876435889484270037845716842391649833447915627284537302590812377345668032381616954262280835706250427244065701071001085700430685015420740367305443715988433958392826173416671483944670252832671757307460571426181165664721081267965550377977610359448525459612856372068160257818163892180923214893866140181846644442090893976098871537926746445328717364515189627143045087588990877076792339411202818539996935130811594801638857769074977134080592519836627936633654228187025955464626855229000810724838617833370900279548671279007802046670681437998543031211175978617479741939536680984773653270816459239141685556470791767864508679096764971880293764934706196716553884968189208861249716015282085934481489957095779749544652352581553522891918293194022480461897640660100807603214879786140295927023398688344138395501118633265489282833373721368570978740086551004242866409021103824401080960310988128465402974125672256928128867029740737236276863013611383664222444678889437787293599689233528602046521092286392850437378615711962286781104431067729329486458562078573154334063901802578706664810052342854199122313008997108220498939167882035426317681276928096643244335135424704701816282871854803837604528505237192282272785471402226324993936140245291848107700935842267649441017250165484889998195843372269599702296036948433674670277766044324665809307369507785005308607485787064026919288712393660114763566087649257144981026325550503306699238927321562746232641739872477205602682735154125644961054653575344640107411094914422210436471532898847941939471746475139782952240210627194514967646695251026406591279769523901324610238157526955939189424936451351221600761866576649273713540068329042921472321 + + def test_exponentiation_89(self): + assert exponentiation(baseNumber=-786, power=757) == -68370278951782866999044644685853346454161027971947713825072172133281303847537227741966369091334240455769770316897148909187856066076789153674526044883280418939718712127264363884255107326084160780300266080553732826299965243721805802989358262477312623695888930663902518290870449913007063346253263694558236504601442967092311406615062831124136722274241756175669673720398599258370980709152232673899670081156936276489269455006705416117956338630898714901229097893507788368190988413083522658896313236484353096331173620132029641549622687249296466766351302688167353742407643245646590253805979252804001968150964577028079767800368960381243045088532415360884415097305988239619457699777895037387448005961320688890202573549639560437043694880601483159822711473464501122726101991296437603647494886392946440576990336507845248776189489757633040834298189987215622950444790253098173184111341622728076083250209690740793744871071992364889745212320163480893773037335045651841627663396536745980114958959825064831935323898955668176969933606932549050016486851539941103385594056315313556086818092722670814335358141425424678838485584452554972324571504033324980036945597861683514451022854316670664343429678976863015854786832409151703638839474216752869805529056932474148184729650201143790271607202725862366110070619704836216637947657178025199437163574223254249302110186296372987217280861123040054743728875296872675384664302690515912072043679667121767936600716960765274031176143111260442042763990975668692102101915218246901403724645264995633020448782439088850230044074314258025522620241321019734316833184486852662034776129019690512748662709631221279932136485729923932688117683081369379730258361407710320609888575903315576408625601522915829747973377534291490257733589514727630835208815974414290122103910725049830007815650012787946140825895454030085407889841811206814301540694501129205176280875386224988098749758893177752313233681403737266114282693320003826941184424099029323332733312641669858292890262969971104411589832067739593047917632557544555301049033076385358891005810963823342509022031842952227416853175033277977413130631036575922488618196367201635209814483706405927286754229204650475744137036943668850606451222009348096 + + def test_exponentiation_90(self): + assert exponentiation(baseNumber=-487, power=651) == -3813763436365702810585613878426633600545002128602525036108500613947522506696606321300451961562062518603894644597296137356889783951520276274809970482531013224301223506551985816503693282280650233195827826394699539403358047857011520885086087014725139804092884917049515353166531164300403157261529258092357148024885740886892959041658252493426633277460228535450467526794854979723520051888499756175109902372465740315303469236278216217353952466351444028616341182946933469010471119594445582738917319514488729956324257633167001863540123673579871229907456037320954143361897509404015758787407763511520791978693371221586224097374440717356312231535631532266957309615531569951942034638063421775469299645725818352077261594233370526646186803104586072312107478702484828511143387480025702076568481570449869829462432765066177491550561165801138393269068976672139075889346556235933330962838117394551741325664889615870615577319330509433973213125518339624340629624535438754660038073217000956321883878775167554453576658322157503397968733064116477552149517520582768180240849818610981892439772036711074228591202839256939257147067430715723845697713665253232159404376294725732053579340995912840260268602919673123598079260804706338806992675133874246617771736544788916892966947099270321256938661363403322571913166297237863031893245258162341238800600297002155428437108506889186105314323785537628850479153834626476491194629195305731317851363485520976611241502384181149259113166984567621806407799040178347710917244591708899433117724054775750093780758658763681378555963155116561076052541514391477985181883669738563499682871359373058809818801912112206102841769764250914302200573545283330227866019527411345752724989147741169991136435988604862471277177955732802595096743993555907121086263 + + def test_exponentiation_91(self): + assert exponentiation(baseNumber=927, power=653) == 318468436944114550546265352251907896423135317836980405086476886518541299006312842373209650421510842360995466461497985441829520844882836606425334117088957763227527694885584726155995091337818517863221711986185244973890640408570433259349005027695084109667663100270285978116569229637685841319864772924319501807165515155088666039714647412218902247552388891186860468015320191353714648746707283617516244835204599429072248693762675666096608358962555889102707728325406377060232962813091442026041122047253349973776072429315510759344363676349979782961266018298428988422889146912360586032850640576210340965810590973584349293911038362160340215970320544198671968743812278627637083255705161446760475044042130245852582594289254457220707690643424508171758915396399182745702127989011539885468111520005672756043371407321888925678256937139469380948847785087249644650748188444222123538707085272477473155125509424640594486360547745010428422728934493799428695972357169159856512918133590629072836338485232532217696115305533324415106707778433366918057306309203570847599439767663468354830367172278497155830983904446753683973638460286940258147140024624270908578867373652207808608945307924433702628802169522483031918432219336560804783806900699259456806920693575553024745144707621790049917154424394025109316538925915923260947744625799296661774591695743522254321667532302131142585375161258310924989962428911033143509001243951000883089628047539724018018772830642690138340037878347979210283848373322789770577052639501321018213303437153049944068611693361132856850111534258575386656949432495618916188407384166920786982936538015719016104876198052795272720414068037936973759481852420218520936504209845775704022704740221088942395174627322365002068105534195001193107622842385110068444396241679093359770325155817269928314783779459365766941234972902219633478790971310535522837874475771189658068514688874091589098382666986248102734815960317406430286135848169952652027872916948767 + + def test_exponentiation_92(self): + assert exponentiation(baseNumber=-221, power=562) == 3535556737299271530285004974300394191699712260171647155485091129510910052921288896741130619036925767520732645037625818197243420201484737187868015767395486690422976261988701386858556240428661539264020960773434771159404571770050239298630502418339903411288805042536835828639502671238878594614191150344902893176266263523500049807205442957850915147079674272346781102273108173280425922740303555069757513860196413710435798181470599278093241817428764874488566007630414392450144639916255654908514397591703285336853926055860853541640477359157645398787789179032983956765597518759890199085866207038841845754911057118731482261673692885580398458317912141908281348338809596174255634603982973079237022278097183542396035458746432925695850746582614660906591152070050820904907468308106582253235335604089523827604809138710681274818425764239038839520347534524413969567665602351827928795210022230511006894112128114592221105659411845003896179147581951673583500190845310450693169855564694896818098583370875217069650998827645672025538984328395162859516043316623596065241344606175586058057853308248880544053192913039757678528808184551565084826696061177273890365578487523903944727174235261700614759295406079548191449198019562845855241576054652460651890699816003501291664230044859677853044958596310827175494051912338746886032924365866199510908041 + + def test_exponentiation_93(self): + assert exponentiation(baseNumber=-502, power=720) == 3211266467904646014589533530714735914977189325291352069031662593270405489245801201284460644116952434404163799663395330702884857823183612799312545886367404705836370179203996510427479917322489699305067776304130938088435533363548209449621990257420359216189932616338565027143378080577192573465833479614066827481176645230392374205041918604879827320784314314351468473957959231960364173722366104620603010980449076135455558829665564482178624545940108268040634219105556411522660368069070486675028390385567476553536646593656970672966021526439772321735514415627068734143021032906374076366395988226556847797678256743219982768337118857108698823553057122709436032607558782268994015837869779068799026316106450149585206045940274421496128387951471288647718528315357344346351503057093078437174444341620721253101354347018710853429373724415333444453222912368668359324265139453679591035736510846558394535856256057021406670250744163757862560551980663142111374439512066921740624071287177156801915394241909785208212303147900639693940730616750432079775834151031772183463477882619529752829334426712294899931183157739266459504255897044100941246420780822774872468616121646702665068317374180586752862258155977342315222040826122302727952445385586716530308462816837205091086880582515433127135797216258505301751922664959455084353468490006618874146349636735122400016636308928225587846890206566228345609179772874834227711574022778475827827518929538876762581178716731869361026837732813825358977278189464083413471318572957853916755051562249748756141558175893330341373948894584643520663937219856473809412516517694248960041573510087796214528634034033310905638345835548816596253730920958948957015474847125872521896672085940911287888556197761989603473329641443178356325597470649809434311878363838718858634516017431184030630032633501278657018968563048074740416306937585494999159213385885854429874673469355049430929664040780730108860513253913329103520984588709181434477425588658635800576 + + def test_exponentiation_94(self): + assert exponentiation(baseNumber=-129, power=596) == 8155814480260877221782116180820716971983297353725742044951170909752454715340434563487333199933801445257064833496682922525220778687825104002350845626232871896524163893834311871486053472712458222545555530176568465535531291823461603392539161667183003238259520801432432588480147383843679164252930307584766819352309414872181642673499283958345886582066044724090906806848789023703108449256796275216245148743117800280729569818405565985291535457667072179282047526274833113587278491603438827397162541400188492711780839210462883690014011019383783964087517010186307585162330652956523271396052364883426543834098079736807025264837788683370878425336737914875108909041330496790882190570170925718554206805824337551310288959245826375464350518768867441020247075030805400736983942400797098304440193830967012233652495414415069312796210844942170985179667032092287329420627153494801129326768883881719112630343828659224301476290257631470057415302991432907501053373291548065204904990775530486989855921111081022404236702805950854814952015896353771156749449326853953356226467666148052824339556607925282139522487821729475064894175121175621555330499276872388067075492697509901248946625195934461812089903872944377042695056422549441211764178308271928512474852271138596503675575425630251521 + + def test_exponentiation_95(self): + assert exponentiation(baseNumber=505, power=475) == 1157189825157074546999365537748466729654317098088386812055149759520652948397060100777787938194804740671643766140118328558119643778968273639242766020876978751403830746926398734381839170336150324139131512182429391259781090163476043527631986424602992636745796329228094010973613225061605710336550060200078308389841568341172046902074553299914394947296498257554868032703462986156624202944033284883763099793945219550736925358639837037067801130107153756711726764315033760957682873510529289270304169308495753309230931843842089627254734767646511960201255370847401309180837741109817592796269001660510809717918650428019836638727041015900106920897947824658232557800633078137086291058946179493230212544560986208026664644745846309856035878544885498953759675203493943069286258481907513384819300765010083233977146715585786876203922114090228368022825059628473761981389552583458078929658113649790776030087621100838983691791853789329897055977015879995542053582744109163362456867775359178707111294442587880133040894595393100920464761829543365098525415949649856605716855581505048062500391761704081105854390444564117071910692133374210446077077527921904106674990573146043481852058892078858561306451999544662988320648509903514989692931866400526304588861469719357198703869882283612469109357334673404693603515625 + + def test_exponentiation_96(self): + assert exponentiation(baseNumber=-301, power=594) == 185565989918083298526373453301559977982677567091569192124696530960626227400536384183944227219336366524210469034108334021925936527964559953994759717396850109896731362603554538453740979922588471538150175584408355657291937286158766795815284447985656992801210366428391469496443067577349671507578627822244040635952254827762315261981806159310673296664097120648298581831455641005898745514484618614782886228894156014999938022607573287597576784544119346619735464445234578362055095709850924585072190738965256290900505872080310192053771496438628729393486503411978250203190727460855803549047969940761864807478033430030916498504613369319184524089779680293363371053174747889691345042501708245844481352741047438422022239970584727555557566977086733316100131136570648510990654929936075622262725299995795450577992049198194687403111395065698701031618540339947033621171532769607796641931734883119993039942346457980523206347136042516487521151570613651299932711340046613380437433120422960198532901118141899230213759503836884636879468621874677706323059915005933554200558258385906113287500458759907905163698435870812647584550715602431695656171951980971528546358658788409393244808457799574656874872857073256520562388799091562825336173534483874808218852247094435585104944814169818186129392217725187965312411863608400293127554240060850344552121684260018937587118215101057530513675879796926549614676541747569288218354052068169979740975737601640681834363936570332856046558800710840160159380024139068201 + + def test_exponentiation_97(self): + assert exponentiation(baseNumber=-630, power=999) == -3477033733375562860273881648454064056853393474698350805397280874400331213580302756488730446357923143758325607410805600700410931386068296937896003844279797005435505765861159319429801939035746505157747766672847199007898658790273988001927662904606020425664604698192846567730332240794331247408585558654866743861188264515723219470701275206627101820315320915423086138922540406679429932271103590036951489653227379099967330625746404651964617591191303227839161483823055643706621382826602293267008941580627462519118516490121282965862630303251420072831361026941010677048703521508420617131930111418999242327608554035576251553475465299821645435344393134212082136065941899878975465189191113157181664555972136605428511522813246507992091452124518919908113016476161026125849609971305190970303058849956180000180417503217757071258159738198402005382812627397420615166452907568182579313693067794663080044374402731185463793749845829395575874024821988057294560558331229483429305965735392778362181899255486931503667330917189000740956968917499649531290480110642349591212409620525560414654665776120221043851578190675594709828289936459026779289316595382881843928078614280302468560199994336768682815616016593892717011487501987798351793654129723571560150335922785561128821132158495434420759921331917230007016113004866091414537049206923388998605676015395453263684254947285264431755158378679657887652708158043283628118060911984323276047895234839427114805788371359270757328040798567080552359435865437852701315986852084722185215171052649158892095431966069397967042251111504109605345485737317413027718096974542891346197712686534390132775741269784230194309765197352496588125951687549001167076260908164698301304228540730531092179214708315108665816010524598121473995995611093898209729352341924809545187817865049875383257302480149064127000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + + def test_exponentiation_98(self): + assert exponentiation(baseNumber=-359, power=302) == 4350342706283274580737152890746256827000254552764665561884493694367418619233628915911700372983779895348204667216264978469488203265245493480169577753233047630283081632561526694512346180869687680894639097506439840799601536232304081132163129949378112421049535449581412050162350246580746584809179433431537823451035424961826416218015797750003015305829274238042096742406790500880432495177882827290549295716938449455140780617489464685777320265641826519427245154116515827527149198120419626393190422404844768077988132354830703319973150333793739271278241510135774346771478970109197585219633228746842737395022788781225004372293383377589764036342912087378870777832672778160048420315484386035619793307995118701684798505816959353385690878039121990982630284396536065714508393068744740881 + + def test_exponentiation_99(self): + assert exponentiation(baseNumber=851, power=773) == 684778230457704145416047398731484366944602330489324890777457352027827869065609361539646392816641155987389532789791883371131019898239356535117580321659397267181241711071169132055775075160534573391520621037277508778758493581035877925395540808188771073053053351351579952676504102002015024856182583231835898325932955171441486262172125945760265752377464508959181206123899774507193455424685064913262254895442018030593228086284312943989149400785148527165725355667163765776318903734248054757915899821003807915608462451156023806254045001573341280478314626897737633167230479196320233984110569406616716502493972377251945335269786135638021980480124978613777702180795817497540866883978598028007868514203123957292065285974115690175931677747903138035343400476435842697394981912408119815467802633784607662056578319320820959706755004818280422214562985563099729467548430292376812846732471430873641668228493170282588162288417386688914761479167171982630276624433333770181023827679888730316379279270366869673400096176538846482915126765547574566762750132835387073597396369293944379558596913165774176033515426624664850100655087530444702606822028432984907731974618105048545119344946566967524985893866550628716408038577323923734254643532347883763231764804538370818752581883257517086362840890025918567803500827084753547592779522018246802784767328276519957145691946080614717671571722319261902378171108996267808903928460740521436840223196052213502923222080652757995700293545512680567184921886385681843400766616538777839868726478194794935586048603406896505216663435581145948604196649828211214293704039242959551513082645869584023377664690270820385118566238497305460288530492377023443263195793134488949902551274723531729893677972887956367463431785321440360026919714365220207615626129104471083433553728740517456785387082418837993985167876752307479780318419131379862770466383968246562354674330300832935451780750961931607317602788594276421175822068479081424089322481230005086967387681673968631655573583818998577718148189734512445339325104704491211935855476412426777148838046648296401059306276048484212243444261141190940254827272161999607280278022280736489386233897211932436268230178416761253931821743862501274618905262144745653819951467703441566352725763376383144369194195994872265516805157959762051 + + def test_exponentiation_100(self): + assert exponentiation(baseNumber=388, power=492) == 50723474240945956770142361068563027401491424630438114200186898235117850398398339800890610386393685318181535293438950601796667082933990119072887719992410006931066285423448537537308087580998521997201627596631021389602145486528316460048216750444770900175112229662291239284082485383925204646860051665513213914704223715045996315970960950734233505921524742486427109198007767314364482538645705657093270609099695451437345859813678481154876100930985880107530728299874959921963654636139063620362423349550102954485516148224487004463719366469571419255669030362100408241383710452354507076343876106695174441856262089878858057956252396619122412840835548890723416546299114168257658661313334190083267673562754030150354124739960531623200245641805447036262236803327888204809224361156868146272841222262670268007238648060439917357411924672187102558504119128836182862085992710662701876214788190392108849557437716482415729595188713879884795888837691321178850225693660144715247874614827575046336090355222649801623544512838794888766579172821062899067966918669301241489585652702836385215455183038719178282775743486605645605455793046235699044813451239961281684062743213530389062942179546568025897132269730119323669503593970405930792513509231697865606545651939934088239185895176540137460799884866093056 \ No newline at end of file diff --git a/tests/gcd_instrumented.py b/tests/gcd_instrumented.py new file mode 100644 index 0000000..c2263d4 --- /dev/null +++ b/tests/gcd_instrumented.py @@ -0,0 +1,305 @@ +from unittest import TestCase + +from benchmark.gcd import gcd + + +class Test_gcd(TestCase): + def test_gcd_1(self): + assert gcd(a=782, b=82) == 2 + + def test_gcd_2(self): + assert gcd(a=988, b=163) == 1 + + def test_gcd_3(self): + assert gcd(a=971, b=855) == 1 + + def test_gcd_4(self): + assert gcd(a=961, b=161) == 1 + + def test_gcd_5(self): + assert gcd(a=240, b=558) == 6 + + def test_gcd_6(self): + assert gcd(a=681, b=608) == 1 + + def test_gcd_7(self): + assert gcd(a=587, b=964) == 1 + + def test_gcd_8(self): + assert gcd(a=396, b=396) == 396 + + def test_gcd_9(self): + assert gcd(a=586, b=958) == 2 + + def test_gcd_10(self): + assert gcd(a=352, b=214) == 2 + + def test_gcd_11(self): + assert gcd(a=145, b=992) == 1 + + def test_gcd_12(self): + assert gcd(a=8, b=550) == 2 + + def test_gcd_13(self): + assert gcd(a=344, b=780) == 4 + + def test_gcd_14(self): + assert gcd(a=621, b=385) == 1 + + def test_gcd_15(self): + assert gcd(a=301, b=638) == 1 + + def test_gcd_16(self): + assert gcd(a=807, b=763) == 1 + + def test_gcd_17(self): + assert gcd(a=331, b=639) == 1 + + def test_gcd_18(self): + assert gcd(a=334, b=408) == 2 + + def test_gcd_19(self): + assert gcd(a=394, b=904) == 2 + + def test_gcd_20(self): + assert gcd(a=295, b=785) == 5 + + def test_gcd_21(self): + assert gcd(a=851, b=47) == 1 + + def test_gcd_22(self): + assert gcd(a=962, b=950) == 2 + + def test_gcd_23(self): + assert gcd(a=704, b=51) == 1 + + def test_gcd_24(self): + assert gcd(a=982, b=53) == 1 + + def test_gcd_25(self): + assert gcd(a=342, b=721) == 1 + + def test_gcd_26(self): + assert gcd(a=519, b=126) == 3 + + def test_gcd_27(self): + assert gcd(a=647, b=973) == 1 + + def test_gcd_28(self): + assert gcd(a=120, b=942) == 6 + + def test_gcd_29(self): + assert gcd(a=233, b=154) == 1 + + def test_gcd_30(self): + assert gcd(a=275, b=550) == 275 + + def test_gcd_31(self): + assert gcd(a=651, b=262) == 1 + + def test_gcd_32(self): + assert gcd(a=71, b=619) == 1 + + def test_gcd_33(self): + assert gcd(a=804, b=346) == 2 + + def test_gcd_34(self): + assert gcd(a=652, b=193) == 1 + + def test_gcd_35(self): + assert gcd(a=502, b=431) == 1 + + def test_gcd_36(self): + assert gcd(a=4, b=290) == 2 + + def test_gcd_37(self): + assert gcd(a=160, b=498) == 2 + + def test_gcd_38(self): + assert gcd(a=227, b=596) == 1 + + def test_gcd_39(self): + assert gcd(a=562, b=470) == 2 + + def test_gcd_40(self): + assert gcd(a=907, b=763) == 1 + + def test_gcd_41(self): + assert gcd(a=973, b=653) == 1 + + def test_gcd_42(self): + assert gcd(a=652, b=232) == 4 + + def test_gcd_43(self): + assert gcd(a=562, b=396) == 2 + + def test_gcd_44(self): + assert gcd(a=166, b=78) == 2 + + def test_gcd_45(self): + assert gcd(a=759, b=782) == 23 + + def test_gcd_46(self): + assert gcd(a=176, b=284) == 4 + + def test_gcd_47(self): + assert gcd(a=982, b=948) == 2 + + def test_gcd_48(self): + assert gcd(a=173, b=178) == 1 + + def test_gcd_49(self): + assert gcd(a=720, b=240) == 240 + + def test_gcd_50(self): + assert gcd(a=145, b=315) == 5 + + def test_gcd_51(self): + assert gcd(a=946, b=524) == 2 + + def test_gcd_52(self): + assert gcd(a=851, b=890) == 1 + + def test_gcd_53(self): + assert gcd(a=529, b=826) == 1 + + def test_gcd_54(self): + assert gcd(a=516, b=766) == 2 + + def test_gcd_55(self): + assert gcd(a=873, b=139) == 1 + + def test_gcd_56(self): + assert gcd(a=371, b=142) == 1 + + def test_gcd_57(self): + assert gcd(a=162, b=653) == 1 + + def test_gcd_58(self): + assert gcd(a=867, b=952) == 17 + + def test_gcd_59(self): + assert gcd(a=941, b=444) == 1 + + def test_gcd_60(self): + assert gcd(a=443, b=214) == 1 + + def test_gcd_61(self): + assert gcd(a=385, b=9) == 1 + + def test_gcd_62(self): + assert gcd(a=180, b=791) == 1 + + def test_gcd_63(self): + assert gcd(a=571, b=114) == 1 + + def test_gcd_64(self): + assert gcd(a=591, b=780) == 3 + + def test_gcd_65(self): + assert gcd(a=710, b=625) == 5 + + def test_gcd_66(self): + assert gcd(a=946, b=67) == 1 + + def test_gcd_67(self): + assert gcd(a=297, b=525) == 3 + + def test_gcd_68(self): + assert gcd(a=686, b=819) == 7 + + def test_gcd_69(self): + assert gcd(a=549, b=875) == 1 + + def test_gcd_70(self): + assert gcd(a=969, b=524) == 1 + + def test_gcd_71(self): + assert gcd(a=248, b=750) == 2 + + def test_gcd_72(self): + assert gcd(a=969, b=67) == 1 + + def test_gcd_73(self): + assert gcd(a=308, b=175) == 7 + + def test_gcd_74(self): + assert gcd(a=471, b=974) == 1 + + def test_gcd_75(self): + assert gcd(a=409, b=685) == 1 + + def test_gcd_76(self): + assert gcd(a=625, b=552) == 1 + + def test_gcd_77(self): + assert gcd(a=490, b=431) == 1 + + def test_gcd_78(self): + assert gcd(a=836, b=938) == 2 + + def test_gcd_79(self): + assert gcd(a=628, b=306) == 2 + + def test_gcd_80(self): + assert gcd(a=522, b=964) == 2 + + def test_gcd_81(self): + assert gcd(a=907, b=977) == 1 + + def test_gcd_82(self): + assert gcd(a=924, b=703) == 1 + + def test_gcd_83(self): + assert gcd(a=658, b=615) == 1 + + def test_gcd_84(self): + assert gcd(a=716, b=258) == 2 + + def test_gcd_85(self): + assert gcd(a=88, b=349) == 1 + + def test_gcd_86(self): + assert gcd(a=838, b=353) == 1 + + def test_gcd_87(self): + assert gcd(a=329, b=801) == 1 + + def test_gcd_88(self): + assert gcd(a=969, b=306) == 51 + + def test_gcd_89(self): + assert gcd(a=611, b=14) == 1 + + def test_gcd_90(self): + assert gcd(a=716, b=47) == 1 + + def test_gcd_91(self): + assert gcd(a=431, b=825) == 1 + + def test_gcd_92(self): + assert gcd(a=496, b=632) == 8 + + def test_gcd_93(self): + assert gcd(a=658, b=290) == 2 + + def test_gcd_94(self): + assert gcd(a=754, b=194) == 2 + + def test_gcd_95(self): + assert gcd(a=29, b=213) == 1 + + def test_gcd_96(self): + assert gcd(a=284, b=226) == 2 + + def test_gcd_97(self): + assert gcd(a=106, b=419) == 1 + + def test_gcd_98(self): + assert gcd(a=361, b=236) == 1 + + def test_gcd_99(self): + assert gcd(a=341, b=105) == 1 + + def test_gcd_100(self): + assert gcd(a=330, b=144) == 6 \ No newline at end of file diff --git a/tests/longest_sorted_substr_instrumented.py b/tests/longest_sorted_substr_instrumented.py new file mode 100644 index 0000000..8321ae9 --- /dev/null +++ b/tests/longest_sorted_substr_instrumented.py @@ -0,0 +1,305 @@ +from unittest import TestCase + +from benchmark.longest_substring import longest_sorted_substr + + +class Test_longest_sorted_substr(TestCase): + def test_longest_sorted_substr_1(self): + assert longest_sorted_substr(s='matbwrp') == 'at' + + def test_longest_sorted_substr_2(self): + assert longest_sorted_substr(s='qfopedtdg') == 'fop' + + def test_longest_sorted_substr_3(self): + assert longest_sorted_substr(s='kcp') == 'cp' + + def test_longest_sorted_substr_4(self): + assert longest_sorted_substr(s='vnfz') == 'fz' + + def test_longest_sorted_substr_5(self): + assert longest_sorted_substr(s='odfcgx') == 'cgx' + + def test_longest_sorted_substr_6(self): + assert longest_sorted_substr(s='pvghsbjun') == 'ghs' + + def test_longest_sorted_substr_7(self): + assert longest_sorted_substr(s='implu') == 'imp' + + def test_longest_sorted_substr_8(self): + assert longest_sorted_substr(s='ry') == 'ry' + + def test_longest_sorted_substr_9(self): + assert longest_sorted_substr(s='gkgyu') == 'gk' + + def test_longest_sorted_substr_10(self): + assert longest_sorted_substr(s='mmltst') == 'mm' + + def test_longest_sorted_substr_11(self): + assert longest_sorted_substr(s='wqb') == 'w' + + def test_longest_sorted_substr_12(self): + assert longest_sorted_substr(s='wbm') == 'bm' + + def test_longest_sorted_substr_13(self): + assert longest_sorted_substr(s='dhvpa') == 'dhv' + + def test_longest_sorted_substr_14(self): + assert longest_sorted_substr(s='outpjl') == 'ou' + + def test_longest_sorted_substr_15(self): + assert longest_sorted_substr(s='jcubqguw') == 'guw' + + def test_longest_sorted_substr_16(self): + assert longest_sorted_substr(s='bfosuwy') == 'bfosuwy' + + def test_longest_sorted_substr_17(self): + assert longest_sorted_substr(s='mxponpls') == 'mx' + + def test_longest_sorted_substr_18(self): + assert longest_sorted_substr(s='sr') == 's' + + def test_longest_sorted_substr_19(self): + assert longest_sorted_substr(s='xfsumjg') == 'fsu' + + def test_longest_sorted_substr_20(self): + assert longest_sorted_substr(s='wjoq') == 'joq' + + def test_longest_sorted_substr_21(self): + assert longest_sorted_substr(s='ngps') == 'gps' + + def test_longest_sorted_substr_22(self): + assert longest_sorted_substr(s='szmn') == 'sz' + + def test_longest_sorted_substr_23(self): + assert longest_sorted_substr(s='gafni') == 'afn' + + def test_longest_sorted_substr_24(self): + assert longest_sorted_substr(s='iedhk') == 'dhk' + + def test_longest_sorted_substr_25(self): + assert longest_sorted_substr(s='pr') == 'pr' + + def test_longest_sorted_substr_26(self): + assert longest_sorted_substr(s='jmbyfose') == 'fos' + + def test_longest_sorted_substr_27(self): + assert longest_sorted_substr(s='cg') == 'cg' + + def test_longest_sorted_substr_28(self): + assert longest_sorted_substr(s='li') == 'l' + + def test_longest_sorted_substr_29(self): + assert longest_sorted_substr(s='fwghigvnj') == 'ghi' + + def test_longest_sorted_substr_30(self): + assert longest_sorted_substr(s='skeen') == 'een' + + def test_longest_sorted_substr_31(self): + assert longest_sorted_substr(s='idzpdfoxv') == 'dfox' + + def test_longest_sorted_substr_32(self): + assert longest_sorted_substr(s='gtl') == 'gt' + + def test_longest_sorted_substr_33(self): + assert longest_sorted_substr(s='ycnqwl') == 'cnqw' + + def test_longest_sorted_substr_34(self): + assert longest_sorted_substr(s='jwkcsy') == 'csy' + + def test_longest_sorted_substr_35(self): + assert longest_sorted_substr(s='bueo') == 'bu' + + def test_longest_sorted_substr_36(self): + assert longest_sorted_substr(s='tu') == 'tu' + + def test_longest_sorted_substr_37(self): + assert longest_sorted_substr(s='jzg') == 'jz' + + def test_longest_sorted_substr_38(self): + assert longest_sorted_substr(s='fn') == 'fn' + + def test_longest_sorted_substr_39(self): + assert longest_sorted_substr(s='dttasc') == 'dtt' + + def test_longest_sorted_substr_40(self): + assert longest_sorted_substr(s='oj') == 'o' + + def test_longest_sorted_substr_41(self): + assert longest_sorted_substr(s='plp') == 'lp' + + def test_longest_sorted_substr_42(self): + assert longest_sorted_substr(s='nea') == 'n' + + def test_longest_sorted_substr_43(self): + assert longest_sorted_substr(s='fihbfup') == 'bfu' + + def test_longest_sorted_substr_44(self): + assert longest_sorted_substr(s='zhkvwbza') == 'hkvw' + + def test_longest_sorted_substr_45(self): + assert longest_sorted_substr(s='mzmls') == 'mz' + + def test_longest_sorted_substr_46(self): + assert longest_sorted_substr(s='puh') == 'pu' + + def test_longest_sorted_substr_47(self): + assert longest_sorted_substr(s='riwo') == 'iw' + + def test_longest_sorted_substr_48(self): + assert longest_sorted_substr(s='vhcpcn') == 'cp' + + def test_longest_sorted_substr_49(self): + assert longest_sorted_substr(s='xefaocc') == 'ef' + + def test_longest_sorted_substr_50(self): + assert longest_sorted_substr(s='cphouvkfr') == 'houv' + + def test_longest_sorted_substr_51(self): + assert longest_sorted_substr(s='qdre') == 'dr' + + def test_longest_sorted_substr_52(self): + assert longest_sorted_substr(s='ssdtvwtlh') == 'dtvw' + + def test_longest_sorted_substr_53(self): + assert longest_sorted_substr(s='cxigclkxr') == 'cx' + + def test_longest_sorted_substr_54(self): + assert longest_sorted_substr(s='lvacw') == 'acw' + + def test_longest_sorted_substr_55(self): + assert longest_sorted_substr(s='ayxvpywsb') == 'ay' + + def test_longest_sorted_substr_56(self): + assert longest_sorted_substr(s='vncy') == 'cy' + + def test_longest_sorted_substr_57(self): + assert longest_sorted_substr(s='ijbdu') == 'bdu' + + def test_longest_sorted_substr_58(self): + assert longest_sorted_substr(s='ye') == 'y' + + def test_longest_sorted_substr_59(self): + assert longest_sorted_substr(s='tkgcyndv') == 'cy' + + def test_longest_sorted_substr_60(self): + assert longest_sorted_substr(s='ckkx') == 'ckkx' + + def test_longest_sorted_substr_61(self): + assert longest_sorted_substr(s='fjsyjcvmp') == 'fjsy' + + def test_longest_sorted_substr_62(self): + assert longest_sorted_substr(s='efomqrla') == 'efo' + + def test_longest_sorted_substr_63(self): + assert longest_sorted_substr(s='bjkspkdj') == 'bjks' + + def test_longest_sorted_substr_64(self): + assert longest_sorted_substr(s='rtikrs') == 'ikrs' + + def test_longest_sorted_substr_65(self): + assert longest_sorted_substr(s='tbbxhrid') == 'bbx' + + def test_longest_sorted_substr_66(self): + assert longest_sorted_substr(s='bbo') == 'bbo' + + def test_longest_sorted_substr_67(self): + assert longest_sorted_substr(s='fusnpw') == 'npw' + + def test_longest_sorted_substr_68(self): + assert longest_sorted_substr(s='aihs') == 'ai' + + def test_longest_sorted_substr_69(self): + assert longest_sorted_substr(s='xuwidu') == 'uw' + + def test_longest_sorted_substr_70(self): + assert longest_sorted_substr(s='zs') == 'z' + + def test_longest_sorted_substr_71(self): + assert longest_sorted_substr(s='aytuwx') == 'tuwx' + + def test_longest_sorted_substr_72(self): + assert longest_sorted_substr(s='xosuypfeh') == 'osuy' + + def test_longest_sorted_substr_73(self): + assert longest_sorted_substr(s='tachdebss') == 'ach' + + def test_longest_sorted_substr_74(self): + assert longest_sorted_substr(s='vrjvakny') == 'akny' + + def test_longest_sorted_substr_75(self): + assert longest_sorted_substr(s='ixsus') == 'ix' + + def test_longest_sorted_substr_76(self): + assert longest_sorted_substr(s='srlu') == 'lu' + + def test_longest_sorted_substr_77(self): + assert longest_sorted_substr(s='xncrom') == 'cr' + + def test_longest_sorted_substr_78(self): + assert longest_sorted_substr(s='rs') == 'rs' + + def test_longest_sorted_substr_79(self): + assert longest_sorted_substr(s='nadg') == 'adg' + + def test_longest_sorted_substr_80(self): + assert longest_sorted_substr(s='rethvq') == 'et' + + def test_longest_sorted_substr_81(self): + assert longest_sorted_substr(s='zqwbbpee') == 'bbp' + + def test_longest_sorted_substr_82(self): + assert longest_sorted_substr(s='lhowqu') == 'how' + + def test_longest_sorted_substr_83(self): + assert longest_sorted_substr(s='oio') == 'io' + + def test_longest_sorted_substr_84(self): + assert longest_sorted_substr(s='spqldzj') == 'pq' + + def test_longest_sorted_substr_85(self): + assert longest_sorted_substr(s='lrxtusdp') == 'lrx' + + def test_longest_sorted_substr_86(self): + assert longest_sorted_substr(s='svxhygma') == 'svx' + + def test_longest_sorted_substr_87(self): + assert longest_sorted_substr(s='qp') == 'q' + + def test_longest_sorted_substr_88(self): + assert longest_sorted_substr(s='zybx') == 'bx' + + def test_longest_sorted_substr_89(self): + assert longest_sorted_substr(s='wsaghff') == 'agh' + + def test_longest_sorted_substr_90(self): + assert longest_sorted_substr(s='pittas') == 'itt' + + def test_longest_sorted_substr_91(self): + assert longest_sorted_substr(s='cuqfox') == 'fox' + + def test_longest_sorted_substr_92(self): + assert longest_sorted_substr(s='nhda') == 'n' + + def test_longest_sorted_substr_93(self): + assert longest_sorted_substr(s='ncl') == 'cl' + + def test_longest_sorted_substr_94(self): + assert longest_sorted_substr(s='iy') == 'iy' + + def test_longest_sorted_substr_95(self): + assert longest_sorted_substr(s='qmbpsye') == 'bpsy' + + def test_longest_sorted_substr_96(self): + assert longest_sorted_substr(s='kmn') == 'kmn' + + def test_longest_sorted_substr_97(self): + assert longest_sorted_substr(s='ndfgtj') == 'dfgt' + + def test_longest_sorted_substr_98(self): + assert longest_sorted_substr(s='xbge') == 'bg' + + def test_longest_sorted_substr_99(self): + assert longest_sorted_substr(s='jgqjis') == 'gq' + + def test_longest_sorted_substr_100(self): + assert longest_sorted_substr(s='vwxhie') == 'vwx' \ No newline at end of file diff --git a/tests/rabin_karp_search_instrumented.py b/tests/rabin_karp_search_instrumented.py new file mode 100644 index 0000000..991bb9f --- /dev/null +++ b/tests/rabin_karp_search_instrumented.py @@ -0,0 +1,308 @@ +from unittest import TestCase + +from benchmark.rabin_karp import rabin_karp_search + + +class Test_rabin_karp_search(TestCase): + def test_rabin_karp_search_1(self): + assert rabin_karp_search(pat='an', txt='vaghgm') == [] + + def test_rabin_karp_search_2(self): + assert rabin_karp_search(pat='n', txt='xaz') == [] + + def test_rabin_karp_search_3(self): + assert rabin_karp_search(pat='ohjk', txt='nanuvpg') == [] + + def test_rabin_karp_search_4(self): + assert rabin_karp_search(pat='sljsl', txt='esgechenk') == [] + + def test_rabin_karp_search_5(self): + assert rabin_karp_search(pat='gter', txt='bmca') == [] + + def test_rabin_karp_search_6(self): + assert rabin_karp_search(pat='vn', txt='caqa') == [] + + def test_rabin_karp_search_7(self): + assert rabin_karp_search(pat='wmsesguqu', txt='yteswvjbq') == [] + + def test_rabin_karp_search_8(self): + assert rabin_karp_search(pat='bdtguu', txt='sfmadudvt') == [] + + def test_rabin_karp_search_9(self): + assert rabin_karp_search(pat='vn', txt='btjwfbdbl') == [] + + def test_rabin_karp_search_10(self): + assert rabin_karp_search(pat='lugybpkue', txt='qbqgfflcu') == [] + + def test_rabin_karp_search_11(self): + assert rabin_karp_search(pat='zttklntm', txt='yteswvjbq') == [] + + def test_rabin_karp_search_12(self): + assert rabin_karp_search(pat='', txt='xhld') == [] + + def test_rabin_karp_search_13(self): + assert rabin_karp_search(pat='xlfxz', txt='kfzhruh') == [] + + def test_rabin_karp_search_14(self): + assert rabin_karp_search(pat='b', txt='pdkoix') == [] + + def test_rabin_karp_search_15(self): + assert rabin_karp_search(pat='m', txt='m') == [0] + + def test_rabin_karp_search_16(self): + assert rabin_karp_search(pat='uezem', txt='jznbjpbnb') == [] + + def test_rabin_karp_search_17(self): + assert rabin_karp_search(pat='', txt='ij') == [] + + def test_rabin_karp_search_18(self): + assert rabin_karp_search(pat='', txt='ksyatkhe') == [] + + def test_rabin_karp_search_19(self): + assert rabin_karp_search(pat='sb', txt='cf') == [] + + def test_rabin_karp_search_20(self): + assert rabin_karp_search(pat='erujiv', txt='phwsehb') == [] + + def test_rabin_karp_search_21(self): + assert rabin_karp_search(pat='i', txt='t') == [] + + def test_rabin_karp_search_22(self): + assert rabin_karp_search(pat='gkgml', txt='jbhyl') == [] + + def test_rabin_karp_search_23(self): + assert rabin_karp_search(pat='syo', txt='bev') == [] + + def test_rabin_karp_search_24(self): + assert rabin_karp_search(pat='y', txt='y') == [0] + + def test_rabin_karp_search_25(self): + assert rabin_karp_search(pat='i', txt='mz') == [] + + def test_rabin_karp_search_26(self): + assert rabin_karp_search(pat='', txt='') == [] + + def test_rabin_karp_search_27(self): + assert rabin_karp_search(pat='iho', txt='vokajp') == [] + + def test_rabin_karp_search_28(self): + assert rabin_karp_search(pat='', txt='cqgon') == [] + + def test_rabin_karp_search_29(self): + assert rabin_karp_search(pat='', txt='yvxxooy') == [] + + def test_rabin_karp_search_30(self): + assert rabin_karp_search(pat='copxl', txt='vqawcn') == [] + + def test_rabin_karp_search_31(self): + assert rabin_karp_search(pat='zjik', txt='lbbbkwy') == [] + + def test_rabin_karp_search_32(self): + assert rabin_karp_search(pat='zyima', txt='jqcwyxeia') == [] + + def test_rabin_karp_search_33(self): + assert rabin_karp_search(pat='fwyzf', txt='yzsvrop') == [] + + def test_rabin_karp_search_34(self): + assert rabin_karp_search(pat='yjfdpuba', txt='dqbpuemne') == [] + + def test_rabin_karp_search_35(self): + assert rabin_karp_search(pat='bcxzmkps', txt='mervjwzd') == [] + + def test_rabin_karp_search_36(self): + assert rabin_karp_search(pat='uaevwihx', txt='pcxnfnsc') == [] + + def test_rabin_karp_search_37(self): + assert rabin_karp_search(pat='u', txt='e') == [] + + def test_rabin_karp_search_38(self): + assert rabin_karp_search(pat='kq', txt='oxlwjj') == [] + + def test_rabin_karp_search_39(self): + assert rabin_karp_search(pat='yfnmeax', txt='isuoamkna') == [] + + def test_rabin_karp_search_40(self): + assert rabin_karp_search(pat='s', txt='vamsw') == [3] + + def test_rabin_karp_search_41(self): + assert rabin_karp_search(pat='uc', txt='ilkvuvqz') == [] + + def test_rabin_karp_search_42(self): + assert rabin_karp_search(pat='lc', txt='rg') == [] + + def test_rabin_karp_search_43(self): + assert rabin_karp_search(pat='', txt='qhugxuu') == [] + + def test_rabin_karp_search_44(self): + assert rabin_karp_search(pat='aps', txt='mycb') == [] + + def test_rabin_karp_search_45(self): + assert rabin_karp_search(pat='def', txt='vdp') == [] + + def test_rabin_karp_search_46(self): + assert rabin_karp_search(pat='ssv', txt='seaqudkp') == [] + + def test_rabin_karp_search_47(self): + assert rabin_karp_search(pat='bpokr', txt='nusonsc') == [] + + def test_rabin_karp_search_48(self): + assert rabin_karp_search(pat='dgspwzxe', txt='yenyenway') == [] + + def test_rabin_karp_search_49(self): + assert rabin_karp_search(pat='', txt='sjt') == [] + + def test_rabin_karp_search_50(self): + assert rabin_karp_search(pat='', txt='vcgsjlo') == [] + + def test_rabin_karp_search_51(self): + assert rabin_karp_search(pat='', txt='kzqd') == [] + + def test_rabin_karp_search_52(self): + assert rabin_karp_search(pat='jt', txt='kwdujsm') == [] + + def test_rabin_karp_search_53(self): + assert rabin_karp_search(pat='viw', txt='kyhgrtfd') == [] + + def test_rabin_karp_search_54(self): + assert rabin_karp_search(pat='rax', txt='jhdzvfzjc') == [] + + def test_rabin_karp_search_55(self): + assert rabin_karp_search(pat='', txt='q') == [] + + def test_rabin_karp_search_56(self): + assert rabin_karp_search(pat='c', txt='g') == [] + + def test_rabin_karp_search_57(self): + assert rabin_karp_search(pat='oxhyeyx', txt='azhitxm') == [] + + def test_rabin_karp_search_58(self): + assert rabin_karp_search(pat='xce', txt='jupda') == [] + + def test_rabin_karp_search_59(self): + assert rabin_karp_search(pat='srfrdw', txt='nqoopxnbt') == [] + + def test_rabin_karp_search_60(self): + assert rabin_karp_search(pat='hhx', txt='snl') == [] + + def test_rabin_karp_search_61(self): + assert rabin_karp_search(pat='', txt='abdu') == [] + + def test_rabin_karp_search_62(self): + assert rabin_karp_search(pat='iiimynmts', txt='fxowpmpqf') == [] + + def test_rabin_karp_search_63(self): + assert rabin_karp_search(pat='o', txt='xjlqhqsf') == [] + + def test_rabin_karp_search_64(self): + assert rabin_karp_search(pat='zpmr', txt='lrvyck') == [] + + def test_rabin_karp_search_65(self): + assert rabin_karp_search(pat='urncdbie', txt='jexdxlct') == [] + + def test_rabin_karp_search_66(self): + assert rabin_karp_search(pat='skhsic', txt='mervjwzd') == [] + + def test_rabin_karp_search_67(self): + assert rabin_karp_search(pat='wdki', txt='xpelfkzzb') == [] + + def test_rabin_karp_search_68(self): + assert rabin_karp_search(pat='t', txt='vqvrhhf') == [] + + def test_rabin_karp_search_69(self): + assert rabin_karp_search(pat='n', txt='aubucl') == [] + + def test_rabin_karp_search_70(self): + assert rabin_karp_search(pat='', txt='es') == [] + + def test_rabin_karp_search_71(self): + assert rabin_karp_search(pat='si', txt='xyien') == [] + + def test_rabin_karp_search_72(self): + assert rabin_karp_search(pat='phjbi', txt='mvzdra') == [] + + def test_rabin_karp_search_73(self): + assert rabin_karp_search(pat='bqq', txt='jupda') == [] + + def test_rabin_karp_search_74(self): + assert rabin_karp_search(pat='krdtsstyf', txt='pcqalpoof') == [] + + def test_rabin_karp_search_75(self): + assert rabin_karp_search(pat='idjv', txt='nmhwpafp') == [] + + def test_rabin_karp_search_76(self): + assert rabin_karp_search(pat='cy', txt='qa') == [] + + def test_rabin_karp_search_77(self): + assert rabin_karp_search(pat='pdikt', txt='kwsmhhpdl') == [] + + def test_rabin_karp_search_78(self): + assert rabin_karp_search(pat='wm', txt='oogs') == [] + + def test_rabin_karp_search_79(self): + assert rabin_karp_search(pat='iq', txt='rnjdqb') == [] + + def test_rabin_karp_search_80(self): + assert rabin_karp_search(pat='', txt='kia') == [] + + def test_rabin_karp_search_81(self): + assert rabin_karp_search(pat='tjntdea', txt='vqvrhhf') == [] + + def test_rabin_karp_search_82(self): + assert rabin_karp_search(pat='vjn', txt='wxfmlz') == [] + + def test_rabin_karp_search_83(self): + assert rabin_karp_search(pat='jyznboajo', txt='jzkufxdun') == [] + + def test_rabin_karp_search_84(self): + assert rabin_karp_search(pat='oe', txt='kwdujsm') == [] + + def test_rabin_karp_search_85(self): + assert rabin_karp_search(pat='', txt='u') == [] + + def test_rabin_karp_search_86(self): + assert rabin_karp_search(pat='xhz', txt='swssrpqh') == [] + + def test_rabin_karp_search_87(self): + assert rabin_karp_search(pat='', txt='ensranv') == [] + + def test_rabin_karp_search_88(self): + assert rabin_karp_search(pat='gjatfk', txt='mcwrcfa') == [] + + def test_rabin_karp_search_89(self): + assert rabin_karp_search(pat='', txt='f') == [] + + def test_rabin_karp_search_90(self): + assert rabin_karp_search(pat='bw', txt='maozrwver') == [] + + def test_rabin_karp_search_91(self): + assert rabin_karp_search(pat='tkcdaqe', txt='lbaqvrky') == [] + + def test_rabin_karp_search_92(self): + assert rabin_karp_search(pat='iga', txt='ujyis') == [] + + def test_rabin_karp_search_93(self): + assert rabin_karp_search(pat='oraee', txt='wqkovkno') == [] + + def test_rabin_karp_search_94(self): + assert rabin_karp_search(pat='v', txt='oo') == [] + + def test_rabin_karp_search_95(self): + assert rabin_karp_search(pat='yk', txt='pg') == [] + + def test_rabin_karp_search_96(self): + assert rabin_karp_search(pat='mzf', txt='qkxyd') == [] + + def test_rabin_karp_search_97(self): + assert rabin_karp_search(pat='dwenvgb', txt='dknpaiti') == [] + + def test_rabin_karp_search_98(self): + assert rabin_karp_search(pat='z', txt='qogk') == [] + + def test_rabin_karp_search_99(self): + assert rabin_karp_search(pat='agln', txt='wyyviej') == [] + + def test_rabin_karp_search_100(self): + assert rabin_karp_search(pat='wjxdaxfl', txt='eaoshqgy') == [] + + def test_rabin_karp_search_101(self): + assert rabin_karp_search(pat='vhllyire', txt='fjpbbuorw') == [] \ No newline at end of file diff --git a/tests/raildecrypt_instrumented.py b/tests/raildecrypt_instrumented.py new file mode 100644 index 0000000..ed8ba0a --- /dev/null +++ b/tests/raildecrypt_instrumented.py @@ -0,0 +1,305 @@ +from unittest import TestCase + +from benchmark.railfence_cipher import raildecrypt + + +class Test_raildecrypt(TestCase): + def test_raildecrypt_1(self): + assert raildecrypt(st='gulzu', k=369) == 'gulzu' + + def test_raildecrypt_2(self): + assert raildecrypt(st='powabf', k=647) == 'powabf' + + def test_raildecrypt_3(self): + assert raildecrypt(st='vgwuw', k=380) == 'vgwuw' + + def test_raildecrypt_4(self): + assert raildecrypt(st='e', k=999) == 'e' + + def test_raildecrypt_5(self): + assert raildecrypt(st='y', k=694) == 'y' + + def test_raildecrypt_6(self): + assert raildecrypt(st='mxo', k=623) == 'mxo' + + def test_raildecrypt_7(self): + assert raildecrypt(st='zsuncolsq', k=873) == 'zsuncolsq' + + def test_raildecrypt_8(self): + assert raildecrypt(st='idgo', k=379) == 'idgo' + + def test_raildecrypt_9(self): + assert raildecrypt(st='ifsfdpps', k=999) == 'ifsfdpps' + + def test_raildecrypt_10(self): + assert raildecrypt(st='orislvwaz', k=730) == 'orislvwaz' + + def test_raildecrypt_11(self): + assert raildecrypt(st='qmfvr', k=283) == 'qmfvr' + + def test_raildecrypt_12(self): + assert raildecrypt(st='lido', k=363) == 'lido' + + def test_raildecrypt_13(self): + assert raildecrypt(st='olhwe', k=195) == 'olhwe' + + def test_raildecrypt_14(self): + assert raildecrypt(st='wxnxwx', k=463) == 'wxnxwx' + + def test_raildecrypt_15(self): + assert raildecrypt(st='ks', k=7) == 'ks' + + def test_raildecrypt_16(self): + assert raildecrypt(st='rozt', k=380) == 'rozt' + + def test_raildecrypt_17(self): + assert raildecrypt(st='rods', k=216) == 'rods' + + def test_raildecrypt_18(self): + assert raildecrypt(st='oerpbtpa', k=656) == 'oerpbtpa' + + def test_raildecrypt_19(self): + assert raildecrypt(st='knlduhl', k=794) == 'knlduhl' + + def test_raildecrypt_20(self): + assert raildecrypt(st='fatqfvqwc', k=587) == 'fatqfvqwc' + + def test_raildecrypt_21(self): + assert raildecrypt(st='jrlpqnwv', k=387) == 'jrlpqnwv' + + def test_raildecrypt_22(self): + assert raildecrypt(st='', k=119) == '' + + def test_raildecrypt_23(self): + assert raildecrypt(st='biqpr', k=559) == 'biqpr' + + def test_raildecrypt_24(self): + assert raildecrypt(st='', k=546) == '' + + def test_raildecrypt_25(self): + assert raildecrypt(st='fqpv', k=885) == 'fqpv' + + def test_raildecrypt_26(self): + assert raildecrypt(st='eclfwck', k=494) == 'eclfwck' + + def test_raildecrypt_27(self): + assert raildecrypt(st='x', k=621) == 'x' + + def test_raildecrypt_28(self): + assert raildecrypt(st='cywbdyyx', k=385) == 'cywbdyyx' + + def test_raildecrypt_29(self): + assert raildecrypt(st='mfqfetye', k=374) == 'mfqfetye' + + def test_raildecrypt_30(self): + assert raildecrypt(st='kuerf', k=440) == 'kuerf' + + def test_raildecrypt_31(self): + assert raildecrypt(st='', k=430) == '' + + def test_raildecrypt_32(self): + assert raildecrypt(st='oswrvqn', k=784) == 'oswrvqn' + + def test_raildecrypt_33(self): + assert raildecrypt(st='jscy', k=352) == 'jscy' + + def test_raildecrypt_34(self): + assert raildecrypt(st='qanfcleco', k=310) == 'qanfcleco' + + def test_raildecrypt_35(self): + assert raildecrypt(st='gbtnf', k=692) == 'gbtnf' + + def test_raildecrypt_36(self): + assert raildecrypt(st='atnsvl', k=765) == 'atnsvl' + + def test_raildecrypt_37(self): + assert raildecrypt(st='aegnzbsw', k=919) == 'aegnzbsw' + + def test_raildecrypt_38(self): + assert raildecrypt(st='atnsvl', k=130) == 'atnsvl' + + def test_raildecrypt_39(self): + assert raildecrypt(st='', k=94) == '' + + def test_raildecrypt_40(self): + assert raildecrypt(st='hdt', k=429) == 'hdt' + + def test_raildecrypt_41(self): + assert raildecrypt(st='jotcx', k=319) == 'jotcx' + + def test_raildecrypt_42(self): + assert raildecrypt(st='farp', k=545) == 'farp' + + def test_raildecrypt_43(self): + assert raildecrypt(st='nm', k=768) == 'nm' + + def test_raildecrypt_44(self): + assert raildecrypt(st='bddld', k=994) == 'bddld' + + def test_raildecrypt_45(self): + assert raildecrypt(st='ihutvt', k=440) == 'ihutvt' + + def test_raildecrypt_46(self): + assert raildecrypt(st='maz', k=848) == 'maz' + + def test_raildecrypt_47(self): + assert raildecrypt(st='', k=130) == '' + + def test_raildecrypt_48(self): + assert raildecrypt(st='rebbbbpkb', k=952) == 'rebbbbpkb' + + def test_raildecrypt_49(self): + assert raildecrypt(st='djch', k=548) == 'djch' + + def test_raildecrypt_50(self): + assert raildecrypt(st='pzks', k=429) == 'pzks' + + def test_raildecrypt_51(self): + assert raildecrypt(st='edeus', k=559) == 'edeus' + + def test_raildecrypt_52(self): + assert raildecrypt(st='sx', k=298) == 'sx' + + def test_raildecrypt_53(self): + assert raildecrypt(st='m', k=123) == 'm' + + def test_raildecrypt_54(self): + assert raildecrypt(st='imgva', k=483) == 'imgva' + + def test_raildecrypt_55(self): + assert raildecrypt(st='gqmbgyaa', k=423) == 'gqmbgyaa' + + def test_raildecrypt_56(self): + assert raildecrypt(st='yzoqg', k=36) == 'yzoqg' + + def test_raildecrypt_57(self): + assert raildecrypt(st='kuerf', k=369) == 'kuerf' + + def test_raildecrypt_58(self): + assert raildecrypt(st='jhf', k=959) == 'jhf' + + def test_raildecrypt_59(self): + assert raildecrypt(st='nfoatk', k=607) == 'nfoatk' + + def test_raildecrypt_60(self): + assert raildecrypt(st='xvcaxr', k=614) == 'xvcaxr' + + def test_raildecrypt_61(self): + assert raildecrypt(st='', k=947) == '' + + def test_raildecrypt_62(self): + assert raildecrypt(st='tzsrjzca', k=587) == 'tzsrjzca' + + def test_raildecrypt_63(self): + assert raildecrypt(st='xazvkatl', k=791) == 'xazvkatl' + + def test_raildecrypt_64(self): + assert raildecrypt(st='czgqiq', k=25) == 'czgqiq' + + def test_raildecrypt_65(self): + assert raildecrypt(st='hgvrjv', k=566) == 'hgvrjv' + + def test_raildecrypt_66(self): + assert raildecrypt(st='imgva', k=534) == 'imgva' + + def test_raildecrypt_67(self): + assert raildecrypt(st='', k=754) == '' + + def test_raildecrypt_68(self): + assert raildecrypt(st='lyth', k=727) == 'lyth' + + def test_raildecrypt_69(self): + assert raildecrypt(st='pzks', k=653) == 'pzks' + + def test_raildecrypt_70(self): + assert raildecrypt(st='', k=855) == '' + + def test_raildecrypt_71(self): + assert raildecrypt(st='uyi', k=924) == 'uyi' + + def test_raildecrypt_72(self): + assert raildecrypt(st='ihutvt', k=434) == 'ihutvt' + + def test_raildecrypt_73(self): + assert raildecrypt(st='liarkxvgv', k=884) == 'liarkxvgv' + + def test_raildecrypt_74(self): + assert raildecrypt(st='ploelrh', k=542) == 'ploelrh' + + def test_raildecrypt_75(self): + assert raildecrypt(st='', k=7) == '' + + def test_raildecrypt_76(self): + assert raildecrypt(st='h', k=97) == 'h' + + def test_raildecrypt_77(self): + assert raildecrypt(st='itef', k=483) == 'itef' + + def test_raildecrypt_78(self): + assert raildecrypt(st='mwfhtlyr', k=111) == 'mwfhtlyr' + + def test_raildecrypt_79(self): + assert raildecrypt(st='yvq', k=653) == 'yvq' + + def test_raildecrypt_80(self): + assert raildecrypt(st='rrqjdipd', k=295) == 'rrqjdipd' + + def test_raildecrypt_81(self): + assert raildecrypt(st='', k=979) == '' + + def test_raildecrypt_82(self): + assert raildecrypt(st='fb', k=171) == 'fb' + + def test_raildecrypt_83(self): + assert raildecrypt(st='dvrxkkqv', k=833) == 'dvrxkkqv' + + def test_raildecrypt_84(self): + assert raildecrypt(st='', k=509) == '' + + def test_raildecrypt_85(self): + assert raildecrypt(st='rjgljb', k=577) == 'rjgljb' + + def test_raildecrypt_86(self): + assert raildecrypt(st='cywbdyyx', k=488) == 'cywbdyyx' + + def test_raildecrypt_87(self): + assert raildecrypt(st='tuozjmmz', k=501) == 'tuozjmmz' + + def test_raildecrypt_88(self): + assert raildecrypt(st='fizmdsie', k=274) == 'fizmdsie' + + def test_raildecrypt_89(self): + assert raildecrypt(st='', k=133) == '' + + def test_raildecrypt_90(self): + assert raildecrypt(st='mcci', k=303) == 'mcci' + + def test_raildecrypt_91(self): + assert raildecrypt(st='mihtm', k=31) == 'mihtm' + + def test_raildecrypt_92(self): + assert raildecrypt(st='jezuahj', k=995) == 'jezuahj' + + def test_raildecrypt_93(self): + assert raildecrypt(st='julhyxf', k=58) == 'julhyxf' + + def test_raildecrypt_94(self): + assert raildecrypt(st='olhwe', k=133) == 'olhwe' + + def test_raildecrypt_95(self): + assert raildecrypt(st='qzbxekned', k=490) == 'qzbxekned' + + def test_raildecrypt_96(self): + assert raildecrypt(st='j', k=590) == 'j' + + def test_raildecrypt_97(self): + assert raildecrypt(st='zje', k=555) == 'zje' + + def test_raildecrypt_98(self): + assert raildecrypt(st='sdod', k=169) == 'sdod' + + def test_raildecrypt_99(self): + assert raildecrypt(st='e', k=95) == 'e' + + def test_raildecrypt_100(self): + assert raildecrypt(st='lido', k=727) == 'lido' \ No newline at end of file diff --git a/tests/railencrypt_instrumented.py b/tests/railencrypt_instrumented.py new file mode 100644 index 0000000..b35d6b7 --- /dev/null +++ b/tests/railencrypt_instrumented.py @@ -0,0 +1,305 @@ +from unittest import TestCase + +from benchmark.railfence_cipher import railencrypt + + +class Test_railencrypt(TestCase): + def test_railencrypt_1(self): + assert railencrypt(st='', k=12) == '' + + def test_railencrypt_2(self): + assert railencrypt(st='rwzcleip', k=680) == 'rwzcleip' + + def test_railencrypt_3(self): + assert railencrypt(st='rwheldzx', k=666) == 'rwheldzx' + + def test_railencrypt_4(self): + assert railencrypt(st='', k=821) == '' + + def test_railencrypt_5(self): + assert railencrypt(st='idbnrbhwh', k=718) == 'idbnrbhwh' + + def test_railencrypt_6(self): + assert railencrypt(st='vgh', k=754) == 'vgh' + + def test_railencrypt_7(self): + assert railencrypt(st='doo', k=496) == 'doo' + + def test_railencrypt_8(self): + assert railencrypt(st='mryny', k=619) == 'mryny' + + def test_railencrypt_9(self): + assert railencrypt(st='', k=426) == '' + + def test_railencrypt_10(self): + assert railencrypt(st='xeeqrsmoj', k=245) == 'xeeqrsmoj' + + def test_railencrypt_11(self): + assert railencrypt(st='f', k=358) == 'f' + + def test_railencrypt_12(self): + assert railencrypt(st='jnfgdr', k=221) == 'jnfgdr' + + def test_railencrypt_13(self): + assert railencrypt(st='hrq', k=676) == 'hrq' + + def test_railencrypt_14(self): + assert railencrypt(st='q', k=552) == 'q' + + def test_railencrypt_15(self): + assert railencrypt(st='rt', k=957) == 'rt' + + def test_railencrypt_16(self): + assert railencrypt(st='vrnqfbhd', k=622) == 'vrnqfbhd' + + def test_railencrypt_17(self): + assert railencrypt(st='', k=496) == '' + + def test_railencrypt_18(self): + assert railencrypt(st='ihutvt', k=661) == 'ihutvt' + + def test_railencrypt_19(self): + assert railencrypt(st='iv', k=671) == 'iv' + + def test_railencrypt_20(self): + assert railencrypt(st='djch', k=441) == 'djch' + + def test_railencrypt_21(self): + assert railencrypt(st='doo', k=527) == 'doo' + + def test_railencrypt_22(self): + assert railencrypt(st='p', k=768) == 'p' + + def test_railencrypt_23(self): + assert railencrypt(st='kft', k=527) == 'kft' + + def test_railencrypt_24(self): + assert railencrypt(st='tafnzqyuq', k=352) == 'tafnzqyuq' + + def test_railencrypt_25(self): + assert railencrypt(st='qmfvr', k=289) == 'qmfvr' + + def test_railencrypt_26(self): + assert railencrypt(st='pcmyim', k=927) == 'pcmyim' + + def test_railencrypt_27(self): + assert railencrypt(st='vxxgc', k=897) == 'vxxgc' + + def test_railencrypt_28(self): + assert railencrypt(st='gmatyguqw', k=426) == 'gmatyguqw' + + def test_railencrypt_29(self): + assert railencrypt(st='', k=940) == '' + + def test_railencrypt_30(self): + assert railencrypt(st='cszhjgvt', k=873) == 'cszhjgvt' + + def test_railencrypt_31(self): + assert railencrypt(st='ocbnbj', k=523) == 'ocbnbj' + + def test_railencrypt_32(self): + assert railencrypt(st='', k=343) == '' + + def test_railencrypt_33(self): + assert railencrypt(st='bugjol', k=786) == 'bugjol' + + def test_railencrypt_34(self): + assert railencrypt(st='ujqmp', k=446) == 'ujqmp' + + def test_railencrypt_35(self): + assert railencrypt(st='ihutvt', k=369) == 'ihutvt' + + def test_railencrypt_36(self): + assert railencrypt(st='uc', k=927) == 'uc' + + def test_railencrypt_37(self): + assert railencrypt(st='lgnhpcl', k=207) == 'lgnhpcl' + + def test_railencrypt_38(self): + assert railencrypt(st='fuuq', k=570) == 'fuuq' + + def test_railencrypt_39(self): + assert railencrypt(st='blxp', k=440) == 'blxp' + + def test_railencrypt_40(self): + assert railencrypt(st='rocke', k=952) == 'rocke' + + def test_railencrypt_41(self): + assert railencrypt(st='idpwv', k=815) == 'idpwv' + + def test_railencrypt_42(self): + assert railencrypt(st='kkdjn', k=216) == 'kkdjn' + + def test_railencrypt_43(self): + assert railencrypt(st='gllokah', k=393) == 'gllokah' + + def test_railencrypt_44(self): + assert railencrypt(st='ary', k=827) == 'ary' + + def test_railencrypt_45(self): + assert railencrypt(st='ikdd', k=577) == 'ikdd' + + def test_railencrypt_46(self): + assert railencrypt(st='smyrpdjos', k=957) == 'smyrpdjos' + + def test_railencrypt_47(self): + assert railencrypt(st='iiz', k=855) == 'iiz' + + def test_railencrypt_48(self): + assert railencrypt(st='qldm', k=611) == 'qldm' + + def test_railencrypt_49(self): + assert railencrypt(st='tncjnu', k=246) == 'tncjnu' + + def test_railencrypt_50(self): + assert railencrypt(st='zl', k=412) == 'zl' + + def test_railencrypt_51(self): + assert railencrypt(st='ixphdbjgt', k=607) == 'ixphdbjgt' + + def test_railencrypt_52(self): + assert railencrypt(st='njwy', k=283) == 'njwy' + + def test_railencrypt_53(self): + assert railencrypt(st='', k=648) == '' + + def test_railencrypt_54(self): + assert railencrypt(st='lcu', k=713) == 'lcu' + + def test_railencrypt_55(self): + assert railencrypt(st='qozh', k=309) == 'qozh' + + def test_railencrypt_56(self): + assert railencrypt(st='zbwnf', k=859) == 'zbwnf' + + def test_railencrypt_57(self): + assert railencrypt(st='djch', k=509) == 'djch' + + def test_railencrypt_58(self): + assert railencrypt(st='nlhv', k=42) == 'nlhv' + + def test_railencrypt_59(self): + assert railencrypt(st='iskgysc', k=421) == 'iskgysc' + + def test_railencrypt_60(self): + assert railencrypt(st='u', k=269) == 'u' + + def test_railencrypt_61(self): + assert railencrypt(st='mrt', k=835) == 'mrt' + + def test_railencrypt_62(self): + assert railencrypt(st='jky', k=64) == 'jky' + + def test_railencrypt_63(self): + assert railencrypt(st='fmuaq', k=245) == 'fmuaq' + + def test_railencrypt_64(self): + assert railencrypt(st='ismu', k=647) == 'ismu' + + def test_railencrypt_65(self): + assert railencrypt(st='qonukt', k=977) == 'qonukt' + + def test_railencrypt_66(self): + assert railencrypt(st='o', k=155) == 'o' + + def test_railencrypt_67(self): + assert railencrypt(st='hzaukhbl', k=918) == 'hzaukhbl' + + def test_railencrypt_68(self): + assert railencrypt(st='kvfnh', k=352) == 'kvfnh' + + def test_railencrypt_69(self): + assert railencrypt(st='ztkrsgbq', k=190) == 'ztkrsgbq' + + def test_railencrypt_70(self): + assert railencrypt(st='vltccoq', k=647) == 'vltccoq' + + def test_railencrypt_71(self): + assert railencrypt(st='nsqjubg', k=369) == 'nsqjubg' + + def test_railencrypt_72(self): + assert railencrypt(st='', k=7) == '' + + def test_railencrypt_73(self): + assert railencrypt(st='', k=473) == '' + + def test_railencrypt_74(self): + assert railencrypt(st='poof', k=470) == 'poof' + + def test_railencrypt_75(self): + assert railencrypt(st='iv', k=977) == 'iv' + + def test_railencrypt_76(self): + assert railencrypt(st='', k=283) == '' + + def test_railencrypt_77(self): + assert railencrypt(st='mefcqmjm', k=389) == 'mefcqmjm' + + def test_railencrypt_78(self): + assert railencrypt(st='sz', k=387) == 'sz' + + def test_railencrypt_79(self): + assert railencrypt(st='cg', k=815) == 'cg' + + def test_railencrypt_80(self): + assert railencrypt(st='liarkxvgv', k=450) == 'liarkxvgv' + + def test_railencrypt_81(self): + assert railencrypt(st='ud', k=436) == 'ud' + + def test_railencrypt_82(self): + assert railencrypt(st='tmd', k=842) == 'tmd' + + def test_railencrypt_83(self): + assert railencrypt(st='spcdtdzjz', k=559) == 'spcdtdzjz' + + def test_railencrypt_84(self): + assert railencrypt(st='c', k=181) == 'c' + + def test_railencrypt_85(self): + assert railencrypt(st='jmnbazu', k=405) == 'jmnbazu' + + def test_railencrypt_86(self): + assert railencrypt(st='jtouhv', k=156) == 'jtouhv' + + def test_railencrypt_87(self): + assert railencrypt(st='iyp', k=309) == 'iyp' + + def test_railencrypt_88(self): + assert railencrypt(st='lu', k=269) == 'lu' + + def test_railencrypt_89(self): + assert railencrypt(st='etzrxuupe', k=878) == 'etzrxuupe' + + def test_railencrypt_90(self): + assert railencrypt(st='io', k=441) == 'io' + + def test_railencrypt_91(self): + assert railencrypt(st='ujv', k=156) == 'ujv' + + def test_railencrypt_92(self): + assert railencrypt(st='cg', k=855) == 'cg' + + def test_railencrypt_93(self): + assert railencrypt(st='zjcev', k=706) == 'zjcev' + + def test_railencrypt_94(self): + assert railencrypt(st='uh', k=611) == 'uh' + + def test_railencrypt_95(self): + assert railencrypt(st='', k=410) == '' + + def test_railencrypt_96(self): + assert railencrypt(st='p', k=979) == 'p' + + def test_railencrypt_97(self): + assert railencrypt(st='oastjtv', k=230) == 'oastjtv' + + def test_railencrypt_98(self): + assert railencrypt(st='gmcoke', k=338) == 'gmcoke' + + def test_railencrypt_99(self): + assert railencrypt(st='p', k=559) == 'p' + + def test_railencrypt_100(self): + assert railencrypt(st='hfam', k=855) == 'hfam' \ No newline at end of file diff --git a/tests/zeller_instrumented.py b/tests/zeller_instrumented.py new file mode 100644 index 0000000..c4bb742 --- /dev/null +++ b/tests/zeller_instrumented.py @@ -0,0 +1,305 @@ +from unittest import TestCase + +from benchmark.zellers_birthday import zeller + + +class Test_zeller(TestCase): + def test_zeller_1(self): + assert zeller(d=-831, m=321, y=57) == 'Saturday' + + def test_zeller_2(self): + assert zeller(d=-896, m=-37, y=-36) == 'Saturday' + + def test_zeller_3(self): + assert zeller(d=-267, m=849, y=58) == 'Monday' + + def test_zeller_4(self): + assert zeller(d=-814, m=-614, y=-29) == 'Saturday' + + def test_zeller_5(self): + assert zeller(d=-199, m=597, y=-89) == 'Saturday' + + def test_zeller_6(self): + assert zeller(d=438, m=539, y=83) == 'Monday' + + def test_zeller_7(self): + assert zeller(d=-907, m=191, y=85) == 'Monday' + + def test_zeller_8(self): + assert zeller(d=547, m=933, y=41) == 'Tuesday' + + def test_zeller_9(self): + assert zeller(d=186, m=21, y=82) == 'Friday' + + def test_zeller_10(self): + assert zeller(d=-267, m=394, y=58) == 'Thursday' + + def test_zeller_11(self): + assert zeller(d=835, m=224, y=6) == 'Saturday' + + def test_zeller_12(self): + assert zeller(d=-497, m=-916, y=-35) == 'Thursday' + + def test_zeller_13(self): + assert zeller(d=991, m=267, y=41) == 'Thursday' + + def test_zeller_14(self): + assert zeller(d=-23, m=289, y=-12) == 'Thursday' + + def test_zeller_15(self): + assert zeller(d=808, m=355, y=-56) == 'Friday' + + def test_zeller_16(self): + assert zeller(d=336, m=230, y=-15) == 'Friday' + + def test_zeller_17(self): + assert zeller(d=-638, m=981, y=-63) == 'Saturday' + + def test_zeller_18(self): + assert zeller(d=-688, m=76, y=84) == 'Monday' + + def test_zeller_19(self): + assert zeller(d=321, m=845, y=66) == 'Sunday' + + def test_zeller_20(self): + assert zeller(d=-495, m=-845, y=-72) == 'Saturday' + + def test_zeller_21(self): + assert zeller(d=101, m=939, y=-42) == 'Thursday' + + def test_zeller_22(self): + assert zeller(d=-71, m=984, y=-93) == 'Sunday' + + def test_zeller_23(self): + assert zeller(d=-429, m=782, y=-93) == 'Saturday' + + def test_zeller_24(self): + assert zeller(d=508, m=89, y=-5) == 'Monday' + + def test_zeller_25(self): + assert zeller(d=851, m=-437, y=-42) == 'Monday' + + def test_zeller_26(self): + assert zeller(d=-381, m=-259, y=-58) == 'Sunday' + + def test_zeller_27(self): + assert zeller(d=588, m=-947, y=19) == 'Tuesday' + + def test_zeller_28(self): + assert zeller(d=-159, m=480, y=62) == 'Friday' + + def test_zeller_29(self): + assert zeller(d=434, m=782, y=-93) == 'Monday' + + def test_zeller_30(self): + assert zeller(d=-851, m=-304, y=-9) == 'Friday' + + def test_zeller_31(self): + assert zeller(d=427, m=-859, y=11) == 'Thursday' + + def test_zeller_32(self): + assert zeller(d=826, m=-460, y=-40) == 'Tuesday' + + def test_zeller_33(self): + assert zeller(d=517, m=-986, y=-24) == 'Saturday' + + def test_zeller_34(self): + assert zeller(d=669, m=657, y=65) == 'Tuesday' + + def test_zeller_35(self): + assert zeller(d=20, m=-639, y=22) == 'Wednesday' + + def test_zeller_36(self): + assert zeller(d=-47, m=-51, y=24) == 'Thursday' + + def test_zeller_37(self): + assert zeller(d=-702, m=789, y=17) == 'Saturday' + + def test_zeller_38(self): + assert zeller(d=658, m=-192, y=52) == 'Tuesday' + + def test_zeller_39(self): + assert zeller(d=-667, m=242, y=-28) == 'Saturday' + + def test_zeller_40(self): + assert zeller(d=765, m=-37, y=-36) == 'Saturday' + + def test_zeller_41(self): + assert zeller(d=-659, m=480, y=62) == 'Tuesday' + + def test_zeller_42(self): + assert zeller(d=991, m=933, y=41) == 'Friday' + + def test_zeller_43(self): + assert zeller(d=-447, m=166, y=72) == 'Tuesday' + + def test_zeller_44(self): + assert zeller(d=956, m=-726, y=76) == 'Tuesday' + + def test_zeller_45(self): + assert zeller(d=114, m=206, y=-63) == 'Friday' + + def test_zeller_46(self): + assert zeller(d=-442, m=671, y=61) == 'Saturday' + + def test_zeller_47(self): + assert zeller(d=-611, m=-373, y=7) == 'Friday' + + def test_zeller_48(self): + assert zeller(d=-364, m=992, y=-16) == 'Saturday' + + def test_zeller_49(self): + assert zeller(d=-611, m=206, y=7) == 'Friday' + + def test_zeller_50(self): + assert zeller(d=111, m=553, y=-85) == 'Tuesday' + + def test_zeller_51(self): + assert zeller(d=-638, m=-373, y=-63) == 'Tuesday' + + def test_zeller_52(self): + assert zeller(d=897, m=-866, y=-73) == 'Friday' + + def test_zeller_53(self): + assert zeller(d=-166, m=590, y=76) == 'Friday' + + def test_zeller_54(self): + assert zeller(d=278, m=574, y=-85) == 'Sunday' + + def test_zeller_55(self): + assert zeller(d=-445, m=-726, y=76) == 'Monday' + + def test_zeller_56(self): + assert zeller(d=449, m=954, y=52) == 'Wednesday' + + def test_zeller_57(self): + assert zeller(d=-896, m=224, y=6) == 'Friday' + + def test_zeller_58(self): + assert zeller(d=-819, m=166, y=72) == 'Tuesday' + + def test_zeller_59(self): + assert zeller(d=-416, m=-532, y=7) == 'Monday' + + def test_zeller_60(self): + assert zeller(d=501, m=-309, y=17) == 'Friday' + + def test_zeller_61(self): + assert zeller(d=182, m=834, y=58) == 'Monday' + + def test_zeller_62(self): + assert zeller(d=262, m=-578, y=85) == 'Friday' + + def test_zeller_63(self): + assert zeller(d=650, m=655, y=27) == 'Wednesday' + + def test_zeller_64(self): + assert zeller(d=-634, m=635, y=19) == 'Sunday' + + def test_zeller_65(self): + assert zeller(d=247, m=113, y=12) == 'Sunday' + + def test_zeller_66(self): + assert zeller(d=-482, m=-259, y=-58) == 'Monday' + + def test_zeller_67(self): + assert zeller(d=-170, m=-673, y=-70) == 'Monday' + + def test_zeller_68(self): + assert zeller(d=287, m=-441, y=-94) == 'Sunday' + + def test_zeller_69(self): + assert zeller(d=878, m=531, y=54) == 'Sunday' + + def test_zeller_70(self): + assert zeller(d=304, m=-320, y=40) == 'Thursday' + + def test_zeller_71(self): + assert zeller(d=-288, m=-841, y=76) == 'Tuesday' + + def test_zeller_72(self): + assert zeller(d=658, m=-523, y=52) == 'Friday' + + def test_zeller_73(self): + assert zeller(d=499, m=805, y=17) == 'Saturday' + + def test_zeller_74(self): + assert zeller(d=128, m=635, y=40) == 'Thursday' + + def test_zeller_75(self): + assert zeller(d=-651, m=312, y=-84) == 'Sunday' + + def test_zeller_76(self): + assert zeller(d=269, m=-487, y=-23) == 'Wednesday' + + def test_zeller_77(self): + assert zeller(d=-638, m=54, y=-63) == 'Friday' + + def test_zeller_78(self): + assert zeller(d=501, m=-841, y=17) == 'Monday' + + def test_zeller_79(self): + assert zeller(d=-673, m=-449, y=-73) == 'Saturday' + + def test_zeller_80(self): + assert zeller(d=-555, m=21, y=82) == 'Friday' + + def test_zeller_81(self): + assert zeller(d=735, m=-141, y=93) == 'Saturday' + + def test_zeller_82(self): + assert zeller(d=-966, m=524, y=-3) == 'Saturday' + + def test_zeller_83(self): + assert zeller(d=826, m=955, y=-40) == 'Wednesday' + + def test_zeller_84(self): + assert zeller(d=390, m=-386, y=65) == 'Friday' + + def test_zeller_85(self): + assert zeller(d=58, m=-37, y=-36) == 'Friday' + + def test_zeller_86(self): + assert zeller(d=943, m=113, y=12) == 'Thursday' + + def test_zeller_87(self): + assert zeller(d=-442, m=-824, y=61) == 'Saturday' + + def test_zeller_88(self): + assert zeller(d=-497, m=-566, y=-35) == 'Saturday' + + def test_zeller_89(self): + assert zeller(d=271, m=-523, y=-94) == 'Wednesday' + + def test_zeller_90(self): + assert zeller(d=7, m=-583, y=76) == 'Saturday' + + def test_zeller_91(self): + assert zeller(d=-98, m=-966, y=-95) == 'Thursday' + + def test_zeller_92(self): + assert zeller(d=61, m=768, y=-51) == 'Wednesday' + + def test_zeller_93(self): + assert zeller(d=545, m=84, y=30) == 'Sunday' + + def test_zeller_94(self): + assert zeller(d=20, m=-761, y=22) == 'Monday' + + def test_zeller_95(self): + assert zeller(d=499, m=-424, y=17) == 'Thursday' + + def test_zeller_96(self): + assert zeller(d=-442, m=-241, y=61) == 'Thursday' + + def test_zeller_97(self): + assert zeller(d=445, m=-201, y=-92) == 'Monday' + + def test_zeller_98(self): + assert zeller(d=-646, m=-366, y=-92) == 'Monday' + + def test_zeller_99(self): + assert zeller(d=-846, m=-291, y=-93) == 'Saturday' + + def test_zeller_100(self): + assert zeller(d=-831, m=-828, y=57) == 'Saturday' \ No newline at end of file