From fba834a617d2d2905cfc84595de100f8a5368c0a Mon Sep 17 00:00:00 2001 From: Egor Tensin Date: Sat, 6 Jun 2026 21:45:45 +0200 Subject: sort out scripts into proper directories --- test.py | 93 ----------------------------------------------------------------- 1 file changed, 93 deletions(-) delete mode 100755 test.py (limited to 'test.py') diff --git a/test.py b/test.py deleted file mode 100755 index b03bf88..0000000 --- a/test.py +++ /dev/null @@ -1,93 +0,0 @@ -#!/usr/bin/env python3 - -# Copyright (c) 2016 Egor Tensin -# This file is part of the "Sorting algorithms" project. -# For details, see https://github.com/egor-tensin/sorting-algorithms. -# Distributed under the MIT License. - -from array import array -import argparse -import sys - -from algorithms.input_kind import InputKind -import algorithms.registry as registry - - -_DEFAULT_INPUT_KIND = InputKind.AVERAGE -_DEFAULT_LENGTH = 100 - - -def test(algorithm, input_kind=_DEFAULT_INPUT_KIND, length=_DEFAULT_LENGTH): - if isinstance(algorithm, str): - algorithm = registry.get(algorithm) - xs = algorithm.gen_input(length, input_kind) - output = algorithm.function(xs) - if isinstance(output, array): - output = output.tolist() - print(output) - - -def _parse_non_negative_integer(s): - try: - n = int(s) - except ValueError: - raise argparse.ArgumentTypeError('must be a non-negative integer: ' + str(s)) - if n < 0: - raise argparse.ArgumentTypeError('must be a non-negative integer') - return n - - -def _parse_input_kind(s): - try: - return InputKind(s) - except ValueError: - raise argparse.ArgumentTypeError('invalid input kind: ' + str(s)) - - -def _format_algorithm(codename): - return '* {}: {}'.format(codename, registry.get(codename).display_name) - - -def _format_available_algorithms(): - descr = 'available algorithms (in the CODENAME: DISPLAY_NAME format):\n' - return descr + '\n'.join(map( - _format_algorithm, sorted(registry.get_codenames()))) - - -def _format_description(): - return _format_available_algorithms() - - -def _create_argument_parser(): - return argparse.ArgumentParser( - description=_format_description(), - formatter_class=argparse.RawDescriptionHelpFormatter) - - -def _parse_args(args=None): - if args is None: - args = sys.argv[1:] - parser = _create_argument_parser() - - parser.add_argument('algorithm', metavar='CODENAME', - choices=registry.get_codenames(), - help='algorithm codename') - parser.add_argument('--input', '-i', dest='input_kind', - choices=InputKind, - type=_parse_input_kind, - default=_DEFAULT_INPUT_KIND, - help='specify input kind') - parser.add_argument('--length', '-l', '-n', metavar='N', - type=_parse_non_negative_integer, - default=_DEFAULT_LENGTH, - help='set input length') - - return parser.parse_args(args) - - -def main(args=None): - test(**vars(_parse_args(args))) - - -if __name__ == '__main__': - main() -- cgit v1.3