Skip to content

Commit

Permalink
test py
Browse files Browse the repository at this point in the history
  • Loading branch information
xaos613 committed Dec 31, 2024
1 parent 805dfbf commit 0bbc1d0
Show file tree
Hide file tree
Showing 6 changed files with 71 additions and 22 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/hello.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
21 changes: 0 additions & 21 deletions .github/workflows/task_py.yml

This file was deleted.

16 changes: 16 additions & 0 deletions .github/workflows/test_py.yml
Original file line number Diff line number Diff line change
@@ -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
Binary file added __pycache__/square.cpython-312.pyc
Binary file not shown.
5 changes: 5 additions & 0 deletions push_all.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/bin/bash

git add .
git commit -m "some changes"
git push -f origin master
49 changes: 49 additions & 0 deletions square.py
Original file line number Diff line number Diff line change
@@ -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()

0 comments on commit 0bbc1d0

Please sign in to comment.