Skip to content

Instantly share code, notes, and snippets.

View FerdinaKusumah's full-sized avatar
🧑‍🚀
✌🏻

Ferdina Kusumah FerdinaKusumah

🧑‍🚀
✌🏻
View GitHub Profile
@FerdinaKusumah
FerdinaKusumah / simple_unit_test.py
Created December 5, 2019 01:41
Single Unit Test
import unittest
class ExampleTestUnit(unittest.TestCase):
def test_sum(self):
self.assertEqual(sum([1, 2, 3]), 6, "Hasilnya adalah 6")
def test_count_array(self):
array = [1, 2, 3, 4]
self.assertEqual(len(array), 4, "Jumlah arraynya ada 5")
@FerdinaKusumah
FerdinaKusumah / sum.py
Created December 5, 2019 01:43
Simple Unit test 2
def sum_values(nums: list) -> int:
total = 0
for i in nums:
total = total + i
return total
import unittest
import sum
class ExampleTestUnit(unittest.TestCase):
def test_sum(self):
self.assertEqual(sum.sum_values([1, 2, 3]), 6, "Hasilnya adalah 6")
def test_error(self):
with self.assertRaises(TypeError):
sum.sum_values([1, "2", "3"])
@FerdinaKusumah
FerdinaKusumah / fibonacci.py
Last active December 16, 2019 01:38
Fibonacci
def fibonacci(n: int):
""" Define function fibonacci with recursion"""
if n == 0:
return 0
elif n == 1:
return 1
return fibonacci(n-1) + fibonacci(n-2)
N = 35
fib = fibonacci(N)
@FerdinaKusumah
FerdinaKusumah / memoization_fibonacci.py
Last active December 16, 2019 01:49
Memoization fibonacci
import timeit
from functools import wraps
def memoize(func):
cache = dict()
@wraps(func)
def to_cache(*args):
if args in cache:
return cache[args]
@FerdinaKusumah
FerdinaKusumah / memoization_lru_cache.py
Created December 16, 2019 01:50
Memoization Fibonacci Lru cache
import timeit
from functools import lru_cache
@lru_cache(maxsize=256)
def fibonacci_lru_cache(n: int):
if n == 0:
return 0
elif n == 1:
return 1
@FerdinaKusumah
FerdinaKusumah / deterministic_function.py
Created December 16, 2019 01:57
Deterministic function
def deterministic_function(a, b):
return a + b
@FerdinaKusumah
FerdinaKusumah / non_deterministic_function.py
Created December 16, 2019 02:00
Non deterministic function
def nondeterministic_function(a, b):
if a % b == 0:
return "Even number"
return "Odd number"
class Example:
def __init__(self):
self.foo = 21
self._bar = 25
>>> t = Example()
>>> t.foo
21
>>> t._bar
@FerdinaKusumah
FerdinaKusumah / internal_method.py
Created December 21, 2019 15:32
Underscore Python
# This is example_module.py:
def external_func():
return 23
def _internal_func():
return 42
>>> from example_module import *