Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 0 additions & 8 deletions src/python/carrying.py → src/carrying/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,11 +38,3 @@ def uncurried(*args):
return res

return uncurried

def sum3(x, y, z):
return x + y + z

sum3_curry = curry(sum3, 3)
sum3_uncurry = uncurry(sum3_curry, 3)
print(sum3_curry(1)(2)(3)) # 6
print(sum3_uncurry(1, 2, 3)) # 6
42 changes: 42 additions & 0 deletions src/carrying/tests.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
import pytest
from main import curry, uncurry

def sum3(x, y, z):
return x + y + z

def test_sum3_curry_uncurry():
sum3_curry = curry(sum3, 3)
sum3_uncurry = uncurry(sum3_curry, 3)
print(sum3_curry(1)(2)(3)) # 6
print(sum3_uncurry(1, 2, 3)) # 6
assert sum3_curry(1)(2)(3) == 6
assert sum3_uncurry(1, 2, 3) == 6
assert sum3_curry(1)(2)(3) == sum3_uncurry(1, 2, 3)

def test_curry_zero_arity():
def f():
return "hello"
result = curry(f, 0)
assert result() == "hello"

def test_curry_negative_or_nonint():
with pytest.raises(ValueError):
curry(sum3, -1)
with pytest.raises(TypeError):
curry(sum3, "3")

def test_uncurry_wrong_args_number():
def f(a):
return a
curried = curry(f, 1)
uncurried = uncurry(curried, 1)
with pytest.raises(ValueError):
uncurried(1, 2)

def test_uncurry_negative_or_nonint():
def f(x):
return lambda y: x + y
with pytest.raises(ValueError):
uncurry(f, -1)
with pytest.raises(TypeError):
uncurry(f, "2")
Binary file removed src/python/Fibonacci of a large number.png
Binary file not shown.
76 changes: 0 additions & 76 deletions src/python/Heap_sort.py

This file was deleted.

12 changes: 0 additions & 12 deletions src/python/Hello World.py

This file was deleted.

13 changes: 0 additions & 13 deletions src/python/coin_exchange.py

This file was deleted.

43 changes: 0 additions & 43 deletions src/python/dfs.py

This file was deleted.

16 changes: 0 additions & 16 deletions src/python/do_eratosthenes.py

This file was deleted.

17 changes: 0 additions & 17 deletions src/python/extended_euclud.py

This file was deleted.

84 changes: 0 additions & 84 deletions src/python/haffman_code.py

This file was deleted.

28 changes: 0 additions & 28 deletions src/works_on_C/Lucky tickets.c

This file was deleted.

32 changes: 0 additions & 32 deletions src/works_on_C/array_flip.c

This file was deleted.

Loading