From 6c0b9453f9e7a6ff8b638bc6be2e1aef9efd40e7 Mon Sep 17 00:00:00 2001 From: Djalim Simaila Date: Thu, 21 Dec 2023 09:44:19 +0100 Subject: [PATCH] initial commit --- .gitignore | 1 + ...test_addition.cpython-311-pytest-7.4.3.pyc | Bin 0 -> 1831 bytes pytest.ini | 2 ++ src/__init__.py | 0 src/__pycache__/__init__.cpython-311.pyc | Bin 0 -> 225 bytes src/__pycache__/calculator.cpython-311.pyc | Bin 0 -> 1251 bytes src/calculator.py | 19 ++++++++++++++++++ test_addition.py | 10 +++++++++ 8 files changed, 32 insertions(+) create mode 100644 .gitignore create mode 100644 __pycache__/test_addition.cpython-311-pytest-7.4.3.pyc create mode 100644 pytest.ini create mode 100644 src/__init__.py create mode 100644 src/__pycache__/__init__.cpython-311.pyc create mode 100644 src/__pycache__/calculator.cpython-311.pyc create mode 100644 src/calculator.py create mode 100644 test_addition.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e3d04c --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +venv* diff --git a/__pycache__/test_addition.cpython-311-pytest-7.4.3.pyc b/__pycache__/test_addition.cpython-311-pytest-7.4.3.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b299ee543f9401514c28cdce6210e3981cad9189 GIT binary patch literal 1831 zcmZ`(&ub(_6t3#-ndwe;5~H#vipxY1wlC@3jS&xt?6RwP3PNNdb7^X)DoM}wFRFS> zCd@!k5tTjUA`9X-WC*)vMQ4_3Gz( zeT;xa7hj3r;r%x{g=hog>^>OJ2`8NTq)D^47U(UFlE7$IC`L5D8q}J#%%;BCG`apY zXJ;vz@u`4H-ZrP@(&Ny$OQ%DUA9sXxA#fcKog>cHXJt$P+MWS<;GYYxCOGdv+9kdR$bJEnFNk`5BzL6<^~fI7 zxnI^QM|su%nt4VtS>z^UB$HX-J!3S}sP`po z;TG*{eR#vhj4hvFIVZRRC%7awz0j7HY`XpGd$;569a}Y)mKtcz+bXR}p*ntIYpD(~ zRP);tOerCgjI#h702gdaV%Bu*e%wujN?az>DYwOZ-<2Ykttg0@6zL5JyH7fvpLii8 z_ak7ablO!LQOD;Q)m`_aC(L(47Kqex6GjU|}eP^KgTCp=fZ?h-Jh(Ev(D=Oh#>yH10WofwAr- zPQFT6ku`ftXk{i-FU;|8Kiy@A=Jb&{ePB+X>O~|A|AWMTOZMfs>#Xzh^XuSCOx=J| zew_MH|J7Km{YDpS_IPR*%_{L0N@v{so9FW8!jmh-rt}hM)e=f;15DO&%!HDyIq36N z$7j$<+1kik5XsKD#D$QvsLIv4Fc$-89bbGTZ$kigUEvvluc!1Fm+Si90l9VMIVSa; W?00Ht^o>(eDpRAd!Y`|=i2ne|8m_wl literal 0 HcmV?d00001 diff --git a/pytest.ini b/pytest.ini new file mode 100644 index 0000000..3654234 --- /dev/null +++ b/pytest.ini @@ -0,0 +1,2 @@ +[pytest] +junit_family = xunit1 diff --git a/src/__init__.py b/src/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/__pycache__/__init__.cpython-311.pyc b/src/__pycache__/__init__.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ec8bb51fecae8d7d5bafa4e4020a493f63ef62cf GIT binary patch literal 225 zcmXv|F$%&!5WF)eB8XqO*2V>G#U|Dw1Z=~REb&5eCwrGdEPaGe5Z~no0_jq@0W-zy z?93GNUM?4c@#vp8-0wgmsO%JtS96m?y!JE)b5T zu1pO_mvLx=hl_5i0I_Sxs~swBEh5BMZ7ixB)s0-2F?o+ zHn<`W95{o`nx`BoT*sxp8~GIS7hCN(K^YUeV)`w^TL4?=$e!uo&i$U9@7wu9JO3>` z{r>fbM_WrnaHC6C1lX!b=sF5rP%!~8DubAWeVmd}O$q8Mkp(lUW6~O?0WQrB=`LVz zLV>-O-xgPaPhaRivco(6&OX7sb&qjz4R|wu=GH|qO8f|$^GZ}>4I-p;iAQ7AI;&7I zdq%dI+O1pTuI+SwoX!W+!sjRmW+F?S+$(u|}cHBPvv>Rb>nP$U#&)eot< zU9jURPkMn=G;n#G0B4*uu6XigyTzXg5sKd=B8(_B<0h< literal 0 HcmV?d00001 diff --git a/src/calculator.py b/src/calculator.py new file mode 100644 index 0000000..d545193 --- /dev/null +++ b/src/calculator.py @@ -0,0 +1,19 @@ +def add(a, b): + checkInputs(a, b) + return a + b + +def subtract(a, b): + checkInputs(a, b) + return a - b + +def multiply(a, b): + checkInputs(a, b) + return a * b + +def divide(a, b): + checkInputs(a, b) + return a / b + +def checkInputs(a, b): + if not isinstance(a, (int, float)) or not isinstance(b, (int, float)): + raise TypeError("Inputs must be either int or float!") diff --git a/test_addition.py b/test_addition.py new file mode 100644 index 0000000..7d14170 --- /dev/null +++ b/test_addition.py @@ -0,0 +1,10 @@ +from src.calculator import add +import pytest + +def test_add(): + result = add(3, 4) + assert result == 7 + +def test_add_string(): + with pytest.raises(TypeError): + add("string", 4)