addet qfc not as a submodule

This commit is contained in:
pika 2024-08-18 15:33:19 +02:00
parent cc8e05e3d5
commit bbf0120ad6
13 changed files with 806 additions and 5 deletions

48
.qfc/tests/test_match.py Normal file
View file

@ -0,0 +1,48 @@
import sys
import os
sys.path.append(os.path.join(os.path.dirname(os.path.abspath(__file__)),'..'))
from qfc.core import filter_files, get_weight
def _equals(marks_list1, marks_list2):
l1 = sorted(marks_list1)
l2 = sorted(marks_list2)
if len(l1) != len(l2):
return False
for i,_ in enumerate(l1):
if l1[i] != l2[i]:
return False
return True
def test_filter_files():
files = [
'/',
'/a/',
'/b/',
'/a/b',
'/a/b/c',
'/b/a/',
'/b/a/c',
'd',
'da'
]
assert(_equals(filter_files(files,''), ['/','d','da']))
assert(_equals(filter_files(files,'/'), ['/']))
assert(_equals(filter_files(files,'a'), ['/a/', '/b/a/', 'da']))
def test_weight():
assert(get_weight('a','') == 1001)
assert(get_weight('a/','') == 1000)
assert(get_weight('a/b/','') == 2000)
assert(get_weight('a/b/c','') == 3001)
assert(get_weight('a','a') == 1001)
assert(get_weight('ab','a') == 1021)
assert(get_weight('bab','a') == 1111)
assert(get_weight('a_b','a') == 1011)
assert(get_weight('root/a_b','a') == 2011)
assert(get_weight('root/a_b_c_d_e_f_g_h_i_j_k','k') == 2091)
assert(get_weight('a/b/c/d/e/f/g/h/i/j/k','k') == 10001)
assert(get_weight('a/B/','b') == 2000)