48 lines
1.3 KiB
Python
48 lines
1.3 KiB
Python
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)
|
|
|
|
|