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
- rand_int_list
- rand_int_list_sorted
- rand_int_list_unique
- rand_int_list_sorted_unique
2. generate a random string and copy it to the clipboard
- rand_str
- rand_str_alphabetics
- rand_str_alphabetic_lower
- rand_str_alphabetic_capital
- rand_str_digital
3. generate a random tree and copy it to the clipboard
- rand_tree
- rand_bst
Usage
1. get a N-ary tree of random integers
import ojtest as oj
import random
random.seed(42)
oj.rand_tree(4)
# or oj.rand_tree(max_depth=4, min_val=0, max_val=20)
# or oj.rand_tree(max_depth=4, 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
Release history Release notifications | RSS feed
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.9.tar.gz
(5.3 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ojtest-0.0.3.9.tar.gz.
File metadata
- Download URL: ojtest-0.0.3.9.tar.gz
- Upload date:
- Size: 5.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
37cf74f6089da9dc64d975bafdd64a99a73b8a3b4abb755d66a8dc2c578f3550
|
|
| MD5 |
0564c05bfc4e3b7bdbf1785e94c8fe80
|
|
| BLAKE2b-256 |
3deae00787929d73a8ea26b60ab9e62d639659971dad06fb324a89dc23260455
|
File details
Details for the file ojtest-0.0.3.9-py3-none-any.whl.
File metadata
- Download URL: ojtest-0.0.3.9-py3-none-any.whl
- Upload date:
- Size: 6.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
85eb85bf06d0c89784fbaee03963b1e630d06f3ceb112acbb4d5804e023b0e37
|
|
| MD5 |
949fd849687442a6513b414b5a102c09
|
|
| BLAKE2b-256 |
1c41075a0bf3439e8d483b80777e3cf5f7c4f0c7960a7a233bd2c354f47a49d2
|