Skip to main content

A testcase generator for online judges.

Project description

OjTest - An auto-copied testcase generator for online judges.

Install pip3 install ojtest

Requirements : PyperClip
If you find this project helpful, star it!


Function

1. generate a random list consists of integer values and copy it to the clipboard

  1. rand_int_list
  2. rand_int_list_sorted
  3. rand_int_list_unique
  4. rand_int_list_sorted_unique

2. generate a random string and copy it to the clipboard

  1. rand_str
  2. rand_str_alphabetics
  3. rand_str_alphabetic_lower
  4. rand_str_alphabetic_capital
  5. rand_str_digital

3. generate a random tree and copy it to the clipboard

  1. rand_tree

Usage

1. get a N-ary tree of random integers

import ojtest as oj
import random

random.seed(42)

oj.rand_tree(3)
# or j.rand_tree(3, min_val=0, max_val=20)
# or j.rand_tree(3, min_val=0, max_val=20, n_ary=2)
# [6, 20, 14, 16, null, 19, 3, 20, null, 8, null, 9, 9]
"""
             (6)
             /  \
         (20)    (14)
         /       /  \
      (16)    (19)  (3)
      /       /     / \
    (20)    (8)   (9) (9)
"""

2. get a string consists of customized char sets(string format)

Default char set is alphabets

import ojtest as oj
import random

random.seed(42)

oj.rand_str(50)
# "GiwCkhgoCuKCOySWewyfgUDwPdZHLOQgESkMqVMaLWckpfVcuy"

oj.rand_str(length=50, char_set='QWERTYqwerty987654')
# "9RyyeW74R9E4ryqEWwrEwR9e7yYyyqeEY4wY79e4wtWwWt9eEq"

3. get a string consists of alphabets

import ojtest as oj
import random

random.seed(42)

oj.rand_str_alphabetic(50)
# or oj.rand_str_alphabetic(length=50)
# or oj.rand_str(50)
# "GiwCkhgoCuKCOySWewyfgUDwPdZHLOQgESkMqVMaLWckpfVcuy"

4. get a list consists of random integer values

By default, min value is 0, and max value is 100

import ojtest as oj
import random

random.seed(42)

oj.rand_int_list(10, 0, 100)
# or oj.rand_int_list(10)  # default min_val = 0, max_val = 100
# or oj.rand_int_list(length=10, min_val=0, max_val=100)
# [81, 14, 3, 94, 35, 31, 28, 17, 94, 13]

5. get a list consists of sorted random integer values

By default, min value is 0, and max value is 100

import ojtest as oj
import random

random.seed(42)

oj.rand_int_list_sorted(10, 0, 100)
# or oj.rand_int_list_sorted(10)
# or oj.rand_int_list_sorted(length=10, min_val=0, max_val=100)
# [3, 13, 14, 17, 28, 31, 35, 81, 94, 94]

6. get a list consists of customized sorted random integer values

By default, min value is 0, and max value is 100

import ojtest as oj
from functools import cmp_to_key
import random

random.seed(42)

# decreasing sort
key = cmp_to_key(lambda x, y: y - x)
oj.rand_int_list_sorted(10, 0, 100, key = key)
# oj.rand_int_list_sorted(length=10, min_val=0, max_val=100, key = cmp_to_key(lambda x, y: y - x))
# [94, 94, 81, 35, 31, 28, 17, 14, 13, 3]

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ojtest-0.0.3.7.tar.gz (5.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ojtest-0.0.3.7-py3-none-any.whl (5.9 kB view details)

Uploaded Python 3

File details

Details for the file ojtest-0.0.3.7.tar.gz.

File metadata

  • Download URL: ojtest-0.0.3.7.tar.gz
  • Upload date:
  • Size: 5.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for ojtest-0.0.3.7.tar.gz
Algorithm Hash digest
SHA256 2c5bc3d1432da138e729c42c7381fecb478fdf12f4c435c3cf948771f057b3d7
MD5 ec227496dee2aefedfb5a3803501ca5e
BLAKE2b-256 781dcb89b0c9244486df98dc385bb32440c19e6e18d22a9c014f1f73450cfe2d

See more details on using hashes here.

File details

Details for the file ojtest-0.0.3.7-py3-none-any.whl.

File metadata

  • Download URL: ojtest-0.0.3.7-py3-none-any.whl
  • Upload date:
  • Size: 5.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for ojtest-0.0.3.7-py3-none-any.whl
Algorithm Hash digest
SHA256 746b7f3a07dcce75f04f97138234bde5ab4d4ef935b264a1dda1c33816216311
MD5 64b042e50955fbef949936dc31c8a82d
BLAKE2b-256 a9d0518b5c1a06c0a25e6a945356c04eb1e9a27276fb086c2dc4c896c392f74e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page