-
Notifications
You must be signed in to change notification settings - Fork 1
/
_tests.py
110 lines (91 loc) · 4.13 KB
/
_tests.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
import time as t
from timeit import Timer
from pathlib import Path
import pymtools.misc as mtm
import pymtools.net as ntm
import pymtools.opsys as sfm
import pymtools.colors as ctm
import pymtools.exports as exm
import pymtools.ext as extm
from colorama import Fore
def benchmark(stmt, n=1000, r=3, setup: str = 'from colorama import Style, Fore, Back;', **kwargs):
setup = (
'from colorama import Style, Fore, Back;'
)
timer = Timer(stmt, setup=setup, **kwargs)
best = min(timer.repeat(r, n))
return best * 1e6 / n
def run_tests(title, tests):
print(title)
results = sorted((benchmark(v), k) for k, v in tests.items())
print(results)
for usec, name in results:
print(f'\t{name:<12} {usec:01.4f} μs')
print("\tConvertion: 1 μs = 0.001 ms = 0.00001 s = 0.000001 s = 0.000000001 s")
print()
#TODO /////////////////////// BENCHMARKS ///////////////////////
testr = """Esto es una pequeña prueba.
Cabezera 1:
- Ejemplo 1 -> Esto es una breve explicacion de lo que puede llegar a contener este ejemplo.
- Ejemplo 2 -> Esto es una breve explicacion de lo que puede llegar a contener este ejemplo.
- Ejemplo 3 -> Esto es una breve explicacion de lo que puede llegar a contener este ejemplo.
- Ejemplo 4 -> Esto es una breve explicacion de lo que puede llegar a contener este ejemplo.
Sub-cabecera 1:
- Ejemplo 1.1 -> Estos son algunos ejemplos de la Sub-cabezera 1.
- Ejemplo 2.1 -> Estos son algunos ejemplos de la Sub-cabezera 1.
- Ejemplo 3.1 -> Estos son algunos ejemplos de la Sub-cabezera 1.
- Ejemplo 4.1 -> Estos son algunos ejemplos de la Sub-cabezera 1.
Sub-sub-cabezera 1 -> Sin embargo, en la sub-sub-cabecera 1 tenemos algunos ejemplos de demostracion con aproxiamadamente 3 tabulaciones
- Ejemplo 1.1.1 -> Esto es una breve explicacion de lo que puede llegar a contener este ejemplo.
- Ejemplo 2.1.1 -> Esto es una breve explicacion de lo que puede llegar a contener este ejemplo.
- Ejemplo 3.1.1 -> Esto es una breve explicacion de lo que puede llegar a contener este ejemplo.
- Ejemplo 4.1.1 -> Esto es una breve explicacion de lo que puede llegar a contener este ejemplo.
Cabezera 2:
- Ejemplo 1 -> Esto serian algunos ejemplos mas importantes puesto que estan en la segunda cabezera, y, por tanto, segundo elemento principal de esta string.
- Ejemplo 2 -> Esto serian algunos ejemplos mas importantes puesto que estan en la segunda cabezera, y, por tanto, segundo elemento principal de esta string.
- Ejemplo 3 -> Esto serian algunos ejemplos mas importantes puesto que estan en la segunda cabezera, y, por tanto, segundo elemento principal de esta string.
- Ejemplo 4 -> Esto serian algunos ejemplos mas importantes puesto que estan en la segunda cabezera, y, por tanto, segundo elemento principal de esta string.
-------------------------------------------------------------
Despedida y finalizacion del texto/docstring:
Como modo de prueba y finalizacion del texto/docstring,
Backest.
"""
w = {
"z": "asd",
"b": {
"c": "asd",
"d": {
"e": "asd",
"f": "asd",
"g": "asd",
},
"h": {
("i", "j", "k"): "asd",
"l": "asd",
"m": "asd",
},
"n": ({
"o": "asd",
"p": "asd",
"q": "asd",
}, "asd", "asd", "asd"
),
"r": "asd",
},
"c": "asd",
"d": "asd",
"e": "asd",
"f": "asd",
"g": "asd",
"h": "asd",
"i": ({})
}
email2 = mtm.is_email("[email protected]")
email3 = mtm.is_email("[email protected]@")
email4 = mtm.is_email("[email protected]")
vp1 = mtm.validatePath("/home/avaro/Desktop/")
vp2 = mtm.validatePath("/home/alvaro/Desktop/")
vp3 = mtm.validatePath("/")
vp4 = mtm.validatePath("C:", True)
print(mtm.countlines("C:\\Users\\Usuario\Desktop\Programacion\pymtools\pymtools", exclude= ["__init__.py"]))
print(mtm.find_duplicates(["a", "b", "c", "a", 1,1,3,4,3]))