From 0bbc1d08df04d6f96cee7feb74b0bccf70e2862e Mon Sep 17 00:00:00 2001 From: Sholomitski Dmitry Date: Fri, 27 Dec 2024 18:56:56 +0000 Subject: [PATCH] test py --- .github/workflows/hello.yml | 2 +- .github/workflows/task_py.yml | 21 ------------- .github/workflows/test_py.yml | 16 ++++++++++ __pycache__/square.cpython-312.pyc | Bin 0 -> 3166 bytes push_all.sh | 5 +++ square.py | 49 +++++++++++++++++++++++++++++ 6 files changed, 71 insertions(+), 22 deletions(-) delete mode 100644 .github/workflows/task_py.yml create mode 100644 .github/workflows/test_py.yml create mode 100644 __pycache__/square.cpython-312.pyc create mode 100755 push_all.sh create mode 100644 square.py diff --git a/.github/workflows/hello.yml b/.github/workflows/hello.yml index 8fb5682..cd2f857 100644 --- a/.github/workflows/hello.yml +++ b/.github/workflows/hello.yml @@ -11,6 +11,6 @@ jobs: - name: Set up Python uses: actions/setup-python@v4 with: - python-version: '3.10' + python-version: '3.13' - run: python hello.py diff --git a/.github/workflows/task_py.yml b/.github/workflows/task_py.yml deleted file mode 100644 index 20ccc24..0000000 --- a/.github/workflows/task_py.yml +++ /dev/null @@ -1,21 +0,0 @@ -name: Python package - -on: [push] - -jobs: - build: - - runs-on: ubuntu-latest - strategy: - matrix: - python-version: ["pypy3.10", "3.9", "3.10", "3.11", "3.12", "3.13"] - - steps: - - uses: actions/checkout@v4 - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v5 - with: - python-version: ${{ matrix.python-version }} - # You can test your matrix by printing the current Python version - - name: Display Python version - run: python -c "import sys; print(sys.version)" diff --git a/.github/workflows/test_py.yml b/.github/workflows/test_py.yml new file mode 100644 index 0000000..69945ff --- /dev/null +++ b/.github/workflows/test_py.yml @@ -0,0 +1,16 @@ +name: Test py file +on: + push: + branches: + - master +jobs: + hello: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: '3.10' + + - run: python square.py diff --git a/__pycache__/square.cpython-312.pyc b/__pycache__/square.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..fe85248a1e7b11db84f35f1e14e11f03dca8d416 GIT binary patch literal 3166 zcmcguO>7%Q6rTOFH;J7#Ep2`f&O#cL4J2s-R3#un5(4y4qqe!!7i*hcyIbttbY|Vw zR*?bn>ioQz;B-M3Gkk*Q z$$LbX=7}CM_*0>ZPffEd_??7kNP76gK0@d&o`7wn#;C$BS6Ytb#k{D>Zpg}IPZ-n< zQNzhmYlf@w!T50OavaD4ajLrW#Nh)wM+~?Wzg&^B7AG7?b#A%h_X&5N=zKvYCNnMOXx5D33Z~__lD9Uu zsXDpJQM6^4Ol31RbkfcmL+3P`4W&&-n{iCr8uC{@IGcB)KAZG2MO(lL9T|Xw%#piY zB(nEnYKeU_wU{ZkymY6v{bt8otF2=<<+0l>Z5NMRc;lwHw+yzVgd{$LH24A-l>0%l z0H6h^k_4}F^CTevbV)+g1)!2H0u3Q_6XASF4ZAz14d(be9`|6^7;fKs>3y^8i?S6?hzZte3D{8C4epxITfGRP_oy@X8Z49H)3nN_YrL9@mK+p81jvA6d%S3A|q!$oDO2Wy3NwX^^7ZlK5W;8qrD7dYYx54j5kWx#F{+x zh;)s@Q2#1j+!kQ*aTpgRVk-WD^7g%n2(4vPkP8OocpspM~*|zIP%4X zbHZ_QmaCJW+D3l3u{=+FITRh28&QQ4uFNm*xS!tj>vdJZjrdqR>OB=`6RPo!-3E)M zbw;ApF=LndF7*yIUt)h3oyF+J2c(Iy@C{y?Yzg0J zl_uN6ad?f&$)p8us$|k_PA0Rqp35K~Nha~~^feRbHh4iA-e~5f{TnhT4Q_;ZX|yaiNviLM))+umGp%G&4O4ii`n&4NIm>jg zs<<-Nkx30MbZ-WH0l6Z2&;hi@+tUkRQ-0GA|1CNKGDH$P1Y}*{IBuQa!L=_!{-C)u zRmP_L0^xSv6}vd~;<;PxeJkyKcL{XX4-zr*dEsZF^S0PF_x@*xKR*2F2kQb6yS%CX E0qNtFs{jB1 literal 0 HcmV?d00001 diff --git a/push_all.sh b/push_all.sh new file mode 100755 index 0000000..8da1004 --- /dev/null +++ b/push_all.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +git add . +git commit -m "some changes" +git push -f origin master diff --git a/square.py b/square.py new file mode 100644 index 0000000..1a66373 --- /dev/null +++ b/square.py @@ -0,0 +1,49 @@ +def square_number(number: float) -> float: + """ + Squares a number (second degree). + + Args: + number (float): The number to square + + Returns: + Float: The result of squaring + + Raises: + TypeError: If the input parameter is not a number + """ + if not isinstance(number, (int, float)): + raise TypeError("The input parameter must be a number") + return number ** 2 + +import unittest + +class TestSquareNumber(unittest.TestCase): + def test_positive_numbers(self): + self.assertEqual(square_number(2), 4) + self.assertEqual(square_number(5), 25) + self.assertEqual(square_number(10), 100) + + def test_negative_numbers(self): + self.assertEqual(square_number(-2), 4) + self.assertEqual(square_number(-5), 25) + + def test_zero(self): + self.assertEqual(square_number(0), 0) + + def test_float_numbers(self): + self.assertAlmostEqual(square_number(1.5), 2.25) + self.assertAlmostEqual(square_number(-1.5), 2.25) + + def test_invalid_types(self): + # Check that the function calls TypeError for invalid types + with self.assertRaises(TypeError): + square_number("2") + with self.assertRaises(TypeError): + square_number([1, 2, 3]) + with self.assertRaises(TypeError): + square_number(None) + with self.assertRaises(TypeError): + square_number({"number": 2}) + +if __name__ == '__main__': + unittest.main()