Skip to content

Commit

Permalink
Merge pull request #84 from Geson-anko/name_tools/count_head_sep
Browse files Browse the repository at this point in the history
Name tools/count head sep
  • Loading branch information
Geson-anko committed May 7, 2022
2 parents dec9269 + 83758fc commit b633429
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 2 deletions.
16 changes: 15 additions & 1 deletion JarvisEngine/core/name.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,21 @@ def clean(name:str) -> str:
end = len(name)

return name[start:end]


def count_head_sep(name:str) -> int:
"""count number of head separator of name.
Ex:
"..a.b" -> 2
"...c" -> 3
"""
num = 0
for s in name:
if s != SEP:
return num
else:
num += 1
return num

def join(name:str, *others:str) -> str:
"""join names
Ex: join("a.b.","c.d") -> "a.b.c.d"
Expand Down
10 changes: 9 additions & 1 deletion tests/core/test_name.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,12 @@ def test_join():
assert name.join("a.b.c") == "a.b.c"
assert name.join(".a.b.","c.",".d") == "a.b.c.d"
assert name.join("a","b","c","d") == "a.b.c.d"
assert name.join(".a.b.c.d") == "a.b.c.d"
assert name.join(".a.b.c.d") == "a.b.c.d"

def test_count_head_sep():
assert name.count_head_sep("..a.b.") == 2
assert name.count_head_sep("") == 0
assert name.count_head_sep(".....") == 5
assert name.count_head_sep("asf....") == 0
assert name.count_head_sep("..v..s..a.sd") == 2

0 comments on commit b633429

Please sign in to comment.