From 0be759905089e1944aea66b89b7f6fb212466629 Mon Sep 17 00:00:00 2001 From: Hoang Ngoc Dat <407880@niuitmo.ru> Date: Thu, 3 Oct 2024 11:41:42 +0300 Subject: [PATCH 01/22] Add comment to rectangle.py --- rectangle.py | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 rectangle.py diff --git a/rectangle.py b/rectangle.py new file mode 100644 index 0000000000..393dd05431 --- /dev/null +++ b/rectangle.py @@ -0,0 +1,7 @@ +def area(a, b): + '''Принимает число a и b (длина и ширина прямоугольника), возвращает площадь прямоугольника''' + return a * b + +def perimeter(a, b): + '''Принимает число a и b (длина и ширина прямоугольника), возвращает периметр прямоугольника''' + return (a + b)*2 \ No newline at end of file From adad2ffe148ebc8699573db222ca728ab5f297f9 Mon Sep 17 00:00:00 2001 From: Hoang Ngoc Dat <407880@niuitmo.ru> Date: Thu, 3 Oct 2024 11:42:10 +0300 Subject: [PATCH 02/22] Add comment to triangle.py --- triangle.py | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 triangle.py diff --git a/triangle.py b/triangle.py new file mode 100644 index 0000000000..10bf63ae10 --- /dev/null +++ b/triangle.py @@ -0,0 +1,6 @@ +def area(a, h): + '''Принимает число a, h (основание и высота треугольника) возвращает площадь треугольника''' + return a * h / 2 +def perimeter(a, b, c): + '''Принимает число a, b, c (стороны треугольника), возвращает периметр треугольника''' + return a + b + c \ No newline at end of file From c5c3db2f82030561f4f7669a87429941126d3a35 Mon Sep 17 00:00:00 2001 From: Hoang Ngoc Dat <407880@niuitmo.ru> Date: Thu, 3 Oct 2024 11:42:59 +0300 Subject: [PATCH 03/22] Add comment to square.py --- square.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/square.py b/square.py index 0f98724205..5ca7bdfbfd 100644 --- a/square.py +++ b/square.py @@ -1,7 +1,7 @@ - def area(a): + '''Принимает число a (сторона квадрата), возвращает площадь квадрата''' return a * a - def perimeter(a): - return 4 * a + '''Принимает число a (сторона квадрата), возвращает периметр квадрата''' + return 4 * a \ No newline at end of file From 746c3a18de806c396070b8a71e764e69c3d7176d Mon Sep 17 00:00:00 2001 From: Hoang Ngoc Dat <407880@niuitmo.ru> Date: Thu, 3 Oct 2024 11:43:35 +0300 Subject: [PATCH 04/22] Add comment to circle.py --- circle.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/circle.py b/circle.py index c3eb8647c9..214dc85846 100644 --- a/circle.py +++ b/circle.py @@ -1,10 +1,11 @@ import math - + '''Подключит библиотеку math''' def area(r): + '''Принимает число r (радиус круга), возвращает площадь круга''' return math.pi * r * r def perimeter(r): + '''Принимает число r (радиус круга), возвращает периметр круга''' return 2 * math.pi * r - From 7e6c710e085053112323b22d896087f3639a9102 Mon Sep 17 00:00:00 2001 From: Hoang Ngoc Dat <407880@niuitmo.ru> Date: Thu, 3 Oct 2024 12:19:51 +0300 Subject: [PATCH 05/22] Add more to explain --- docs/README.md | 104 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 103 insertions(+), 1 deletion(-) diff --git a/docs/README.md b/docs/README.md index 63f8727939..de719724ea 100644 --- a/docs/README.md +++ b/docs/README.md @@ -7,4 +7,106 @@ ## Perimeter - Circle: P = 2πR - Rectangle: P = 2a + 2b -- Square: P = 4a \ No newline at end of file +- Square: P = 4a + +# ** Oписание каждой функции с примерами вызова** +## **Rectangle** +``` +def area(a, b): + '''Принимает число a и b (длина и ширина прямоугольника), возвращает площадь прямоугольника''' + return a * b + +def perimeter(a, b): + '''Принимает число a и b (длина и ширина прямоугольника), возвращает периметр прямоугольника''' + return (a + b)*2 +``` +_Example:_ +_Input: `5,6`_ +_Output: `30 22`_ + + +## **Triangle** +``` +def area(a, h): + '''Принимает число a, h (основание и высота треугольника) возвращает площадь треугольника''' + return a * h / 2 +def perimeter(a, b, c): + '''Принимает число a, b, c (стороны треугольника), возвращает периметр треугольника''' + return a + b + c +``` +_Example:_ +_Input: `1,2` `1,2,3`_ +_Output: `1 6`_ + + +## **Square** +``` +def area(a): + '''Принимает число a (сторона квадрата), возвращает площадь квадрата''' + return a * a + +def perimeter(a): + '''Принимает число a (сторона квадрата), возвращает периметр квадрата''' + return 4 * a +``` +_Example:_ +_Input: `3`_ +_Output: `9 12`_ + +## **Circle** +``` +import math + '''Подключит библиотеку math''' + +def area(r): + '''Принимает число r (радиус круга), возвращает площадь круга''' + return math.pi * r * r + + +def perimeter(r): + '''Принимает число r (радиус круга), возвращает периметр круга''' + return 2 * math.pi * r +``` +_Example:_ +_Input: `4`_ +_Output: `50.24 25.12`_ + +# История изменения проекта с хешами комитов +- _commit 746c3a18de806c396070b8a71e764e69c3d7176d_ +``` +Author: Hoang Ngoc Dat <407880@niuitmo.ru> +Date: Thu Oct 3 11:43:35 2024 +0300 + + Add comment to circle.py +``` + +- _commit c5c3db2f82030561f4f7669a87429941126d3a35_ +``` +Author: Hoang Ngoc Dat <407880@niuitmo.ru> +Date: Thu Oct 3 11:42:59 2024 +0300 + + Add comment to square.py +``` + +- _commit c5c3db2f82030561f4f7669a87429941126d3a35_ +``` +Author: Hoang Ngoc Dat <407880@niuitmo.ru> +Date: Thu Oct 3 11:42:10 2024 +0300 + + Add comment to triangle.py +``` + +- _commit 0be759905089e1944aea66b89b7f6fb212466629_ +``` +Author: Hoang Ngoc Dat <407880@niuitmo.ru> +Date: Thu Oct 3 11:41:42 2024 +0300 + + Add comment to rectangle.py +``` + + + + + + + From 4f6015fb35ea095d4e57523ffc2b4c987bb1a035 Mon Sep 17 00:00:00 2001 From: Hoang Ngoc Dat <407880@niuitmo.ru> Date: Thu, 3 Oct 2024 12:43:35 +0300 Subject: [PATCH 06/22] Update Readme.md file --- docs/README.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/docs/README.md b/docs/README.md index de719724ea..ca33242046 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,3 +1,4 @@ + # Math formulas ## Area - Circle: S = πR² @@ -8,6 +9,19 @@ - Circle: P = 2πR - Rectangle: P = 2a + 2b - Square: P = 4a +# Oбщее описание решения: +1. Выполните команду git clone +2. Создайте новую ветку с названием new_features_ и переключитесь на нее. +3. Добавьте новый файл в эту ветку (rectangle.py) +4. Сделайте коммит с сообщением о том, что был добавлен новый файл. +5. Добавьте еще один файл в эту ветку (triangle.py) +6. Исправьте ошибку в вычислении периметра в файле rectangle.py +7. Создайте еще один коммит внутри этой же ветки, его сообщение о том, что была исправлен ошибка. +8. Постройте граф истории всего репозитория с однострочным выводом коммитов. +9. Постройте граф истории только текущей ветки. +10. Возьмите хэши двух последних коммитов из истории +11. Сделайте Pull Request +12. Yдалим ветку new_features_. # ** Oписание каждой функции с примерами вызова** ## **Rectangle** @@ -72,6 +86,14 @@ _Input: `4`_ _Output: `50.24 25.12`_ # История изменения проекта с хешами комитов +- _commit 7e6c710e085053112323b22d896087f3639a9102_ +``` +Author: Hoang Ngoc Dat <407880@niuitmo.ru> +Date: Thu Oct 3 12:19:51 2024 +0300 + + Add more to explain +``` + - _commit 746c3a18de806c396070b8a71e764e69c3d7176d_ ``` Author: Hoang Ngoc Dat <407880@niuitmo.ru> @@ -110,3 +132,5 @@ Date: Thu Oct 3 11:41:42 2024 +0300 + + From 9dd27b94ab39c1ad4266f3a9ff9276239e9d987e Mon Sep 17 00:00:00 2001 From: Hoang Ngoc Dat <407880@niuitmo.ru> Date: Thu, 3 Oct 2024 18:59:55 +0300 Subject: [PATCH 07/22] Update Readme.md file the second time --- docs/README.md | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/docs/README.md b/docs/README.md index ca33242046..dd87235b75 100644 --- a/docs/README.md +++ b/docs/README.md @@ -86,7 +86,16 @@ _Input: `4`_ _Output: `50.24 25.12`_ # История изменения проекта с хешами комитов -- _commit 7e6c710e085053112323b22d896087f3639a9102_ + +- _**commit 4f6015fb35ea095d4e57523ffc2b4c987bb1a035**_ +``` +Author: Hoang Ngoc Dat <407880@niuitmo.ru> +Date: Thu Oct 3 12:43:35 2024 +0300 + + Update Readme.md file +``` + +- _**commit 7e6c710e085053112323b22d896087f3639a9102**_ ``` Author: Hoang Ngoc Dat <407880@niuitmo.ru> Date: Thu Oct 3 12:19:51 2024 +0300 @@ -94,7 +103,7 @@ Date: Thu Oct 3 12:19:51 2024 +0300 Add more to explain ``` -- _commit 746c3a18de806c396070b8a71e764e69c3d7176d_ +- _**commit 746c3a18de806c396070b8a71e764e69c3d7176d**_ ``` Author: Hoang Ngoc Dat <407880@niuitmo.ru> Date: Thu Oct 3 11:43:35 2024 +0300 @@ -102,7 +111,7 @@ Date: Thu Oct 3 11:43:35 2024 +0300 Add comment to circle.py ``` -- _commit c5c3db2f82030561f4f7669a87429941126d3a35_ +- _**commit c5c3db2f82030561f4f7669a87429941126d3a35**_ ``` Author: Hoang Ngoc Dat <407880@niuitmo.ru> Date: Thu Oct 3 11:42:59 2024 +0300 @@ -110,7 +119,7 @@ Date: Thu Oct 3 11:42:59 2024 +0300 Add comment to square.py ``` -- _commit c5c3db2f82030561f4f7669a87429941126d3a35_ +- _**commit c5c3db2f82030561f4f7669a87429941126d3a35**_ ``` Author: Hoang Ngoc Dat <407880@niuitmo.ru> Date: Thu Oct 3 11:42:10 2024 +0300 @@ -118,7 +127,7 @@ Date: Thu Oct 3 11:42:10 2024 +0300 Add comment to triangle.py ``` -- _commit 0be759905089e1944aea66b89b7f6fb212466629_ +- _**commit 0be759905089e1944aea66b89b7f6fb212466629**_ ``` Author: Hoang Ngoc Dat <407880@niuitmo.ru> Date: Thu Oct 3 11:41:42 2024 +0300 From 3ea0aa1895106dda1749cc91bd091fc7c9c74e79 Mon Sep 17 00:00:00 2001 From: Hoang Ngoc Dat <407880@niuitmo.ru> Date: Fri, 4 Oct 2024 10:46:15 +0300 Subject: [PATCH 08/22] Update file Readme.md3 --- docs/README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docs/README.md b/docs/README.md index dd87235b75..64d44ea14c 100644 --- a/docs/README.md +++ b/docs/README.md @@ -86,6 +86,13 @@ _Input: `4`_ _Output: `50.24 25.12`_ # История изменения проекта с хешами комитов +- _**commit 9dd27b94ab39c1ad4266f3a9ff9276239e9d987e**_ +``` +Author: Hoang Ngoc Dat <407880@niuitmo.ru> +Date: Thu Oct 3 18:59:55 2024 +0300 + + Update Readme.md file the second time +``` - _**commit 4f6015fb35ea095d4e57523ffc2b4c987bb1a035**_ ``` From 394618f6cb4e9c7fca11003b86e722e1033db067 Mon Sep 17 00:00:00 2001 From: hoangdatitmo Date: Tue, 8 Oct 2024 17:10:20 +0300 Subject: [PATCH 09/22] Update readme file --- docs/README.md | 27 ++++++++------------------- 1 file changed, 8 insertions(+), 19 deletions(-) diff --git a/docs/README.md b/docs/README.md index 64d44ea14c..b1b7afe5b6 100644 --- a/docs/README.md +++ b/docs/README.md @@ -10,18 +10,14 @@ - Rectangle: P = 2a + 2b - Square: P = 4a # Oбщее описание решения: -1. Выполните команду git clone -2. Создайте новую ветку с названием new_features_ и переключитесь на нее. -3. Добавьте новый файл в эту ветку (rectangle.py) -4. Сделайте коммит с сообщением о том, что был добавлен новый файл. -5. Добавьте еще один файл в эту ветку (triangle.py) -6. Исправьте ошибку в вычислении периметра в файле rectangle.py -7. Создайте еще один коммит внутри этой же ветки, его сообщение о том, что была исправлен ошибка. -8. Постройте граф истории всего репозитория с однострочным выводом коммитов. -9. Постройте граф истории только текущей ветки. -10. Возьмите хэши двух последних коммитов из истории -11. Сделайте Pull Request -12. Yдалим ветку new_features_. +**Geometric Library** - библиотека Python, предназначенная для расчета ключевых геометрических характеристик простейших фигур: круга, квадрата, прямоугольника и треугольника. С её помощью можно вычислять площадь и периметр (или длину окружности) данных фигур, что делает её удобным инструментом для решения геометрических задач в различных приложениях, включая учебные проекты. + +Основные возможности библиотеки: + +- Вычисление площади и периметра квадрата. +- Вычисление площади и длины окружности круга. +- Вычисление площади и периметра прямоугольника. +- Вычисление площади и периметра треугольника. # ** Oписание каждой функции с примерами вызова** ## **Rectangle** @@ -86,13 +82,6 @@ _Input: `4`_ _Output: `50.24 25.12`_ # История изменения проекта с хешами комитов -- _**commit 9dd27b94ab39c1ad4266f3a9ff9276239e9d987e**_ -``` -Author: Hoang Ngoc Dat <407880@niuitmo.ru> -Date: Thu Oct 3 18:59:55 2024 +0300 - - Update Readme.md file the second time -``` - _**commit 4f6015fb35ea095d4e57523ffc2b4c987bb1a035**_ ``` From 778f5af728bc4ee3d9f613528624f897bf802fb9 Mon Sep 17 00:00:00 2001 From: hoangdatitmo Date: Fri, 1 Nov 2024 02:11:09 +0300 Subject: [PATCH 10/22] Add file unittest --- .idea/.gitignore | 8 +++++++ .idea/geometric_lib.iml | 8 +++++++ .idea/misc.xml | 7 ++++++ .idea/modules.xml | 8 +++++++ .idea/vcs.xml | 6 +++++ __pycache__/circle.cpython-311.pyc | Bin 0 -> 707 bytes __pycache__/rectangle.cpython-311.pyc | Bin 0 -> 737 bytes __pycache__/square.cpython-311.pyc | Bin 0 -> 625 bytes __pycache__/test_circle.cpython-311.pyc | Bin 0 -> 2147 bytes __pycache__/test_rectangle.cpython-311.pyc | Bin 0 -> 2223 bytes __pycache__/test_square.cpython-311.pyc | Bin 0 -> 2114 bytes __pycache__/test_triangle.cpython-311.pyc | Bin 0 -> 2242 bytes __pycache__/triangle.cpython-311.pyc | Bin 0 -> 717 bytes rectangle.py | 4 ++-- square.py | 2 +- test_circle.py | 21 +++++++++++++++++ test_rectangle.py | 24 +++++++++++++++++++ test_square.py | 22 +++++++++++++++++ test_triangle.py | 26 +++++++++++++++++++++ triangle.py | 4 ++-- 20 files changed, 135 insertions(+), 5 deletions(-) create mode 100644 .idea/.gitignore create mode 100644 .idea/geometric_lib.iml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml create mode 100644 __pycache__/circle.cpython-311.pyc create mode 100644 __pycache__/rectangle.cpython-311.pyc create mode 100644 __pycache__/square.cpython-311.pyc create mode 100644 __pycache__/test_circle.cpython-311.pyc create mode 100644 __pycache__/test_rectangle.cpython-311.pyc create mode 100644 __pycache__/test_square.cpython-311.pyc create mode 100644 __pycache__/test_triangle.cpython-311.pyc create mode 100644 __pycache__/triangle.cpython-311.pyc create mode 100644 test_circle.py create mode 100644 test_rectangle.py create mode 100644 test_square.py create mode 100644 test_triangle.py diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000000..13566b81b0 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/geometric_lib.iml b/.idea/geometric_lib.iml new file mode 100644 index 0000000000..bc2cd87409 --- /dev/null +++ b/.idea/geometric_lib.iml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000000..a6218fed0a --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000000..5c0675083d --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000000..35eb1ddfbb --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/__pycache__/circle.cpython-311.pyc b/__pycache__/circle.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e781c5ba9b2755796f180fdc9eba957e15c6ee2e GIT binary patch literal 707 zcmcIhIZFdk5T3VLjY+&4AvRlx7!WH_P|?CPf_PvjX<~NKXoBG-K@^Mi00~6UDt2~C zx)2i-&%ZFQldS}?NEb+#%6V&C6~xY2=3}mJ*!kXNTbmciF5G>qrwrg#CZDD>f|{R# z9O$647%YRX9KtfwU4)9xmLQ;3M`gi@erPkb{)d09beCc44Op-~(w7OGjx8 z&xMIM_&|P-1uTnwO&sBk*uy(~)VMZ4?E;plav=6JycMQ6z$+{S1~n|=BVJ=sPKZo{ zj8BqirzMg7M#w9c8V{$|EF}@mGmG)0{4uTG6C4Z8Oa~X{L$l$P;ZP*XBQawrv2Ceg zZiKniOC?Ws6PWPk>&T9tEM~^fx-wI!`fF5$zogLF?_&IrLP>AXntza@Y>Rs@WfkT( zF)H%GxV($I2|lFY9ttf_!r;-kkuo@Mr(D(=x4-yWk5kz#=XUO+UcklaQNh;9Cgj1c u+so=L6Y)(w9Wy3*Ck;u#lOqIG7h~)he5U_EsBHwFo{sJ)A3*H2P{EM(c~5CG*^=9Wr$BOR>aE6oO$u`18G zyuzA1!#Xy($+5;`d>Ws~s#IAOWR3#;Q{-FHk=Jy%DKGF5n^>0x-R=d;p&5=9Dm`O` z@@1JH+<-0BUE3#F;D7dbfCr<^%r=Xq)wgion+z{UH`c=2ThWLaTZjrfer)b1lJ?x; zN!x7-+Y}xODokk~i34vwf9@#1=tR0?;deZJm>LgdtS?AL=8o)tL8@xX4fQJ0`IFLz zVk6W;3pdFCl^CXd+k0q>y_9`y3!#1jdVNTbk`Newpvdy;#rgaax`V^7j96TPpaJ`oc1pS< zBp5WFzp&e;60Gb3*QIi1V`34obB=vG^Y+c|&CF9eJqKuyv89t71Nfw1Y#3_`7jSEU z4L5KIHbZ2#aR6rIc&s3qfh&S5Od&Mj8o#R<0Ms$}5-IthJlU0RxO&o;9aZD%R(4fY zzRG}Gd|6dhO$I0mP~>y@B3r0yBjMwLZ?1480{JXknyUX?BH!r(MPXar^QpWhG+Ccn zW%^e>T+D3dcXu+m{e0FsTF;kDt|gqcVx=F&-4ZbrkuXdmc<_---IeMaUN*!K{wmjI zlX4BWg5rNHx1$@`qZTS}s@|_CzAk7Ig1k}PViw(gqUeazf^*>rK|{jnfQS<$5cW(% um#>dT`9$l?VSKA_Zo6mBwn!sK9V)LP3?huNfnl)u0Zbr1@qRh-^ef-NIpl`` literal 0 HcmV?d00001 diff --git a/__pycache__/test_circle.cpython-311.pyc b/__pycache__/test_circle.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..84a943389daaca469919c3d474438c904f736d10 GIT binary patch literal 2147 zcmc&#%}*0S6rbs~W%wvqB1*%T7=o5B1A0(FQ!HRiOhG|{4RKStONA5)v#o~4LlZfg z=#7wILNq}dZpJ^u#I0E)*_-ho+%S0JW(f-t9VUL~ zHj1IBHEO)5CG2)VXNkxpOeGR_NOY0FDzF=NN&=uuass*~7hsX(24qqZ*kpQnaEeFc z@`$V?gAqlJ<}IRO^c}s}9R*k-&&Vpg50_-YQ}P!FiLQaIje2px^_Rmj(u7rs5Ap)$R;cM%BnxJ>epvhYF6(p*RRyCdvmN+ zW36hw?ZQlQf)R4qMaVCNwsCvKx`SUHzIdYqco9gv6u^uJ_dr)KGl(T-WrKB%9cxR; zaODMngQV{-H>@7@Z@tn-3X5^&I59Phw z$b0fJm(9%A*=4?(p4Mnr|l^fur_3_kydjM^_*C)6;_i zeimbKaL=1ZeKL{aM<4aP7R@Ow0Q+`5GC!a5wQIh1_0qpi{*lyABlWl6wk|$@nLeKS z)Dtu7wzu4*rA2f0)SGj@PR-Y;UhdDa0gVl)`DSE2_hZMj~T{lp)0K{7q z;XQ|n#BpxL5xUmuIZ)iH)2$TMh*ke6r9B%R^P~a~~ o83Wi6D5aaEB4gA|;>j3w$LXc`eS3U0rd2inG?c%Nm|}eSHzzf?761SM literal 0 HcmV?d00001 diff --git a/__pycache__/test_rectangle.cpython-311.pyc b/__pycache__/test_rectangle.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0064cc4368bfdc27d87eca0947f59ccc4c0e92c9 GIT binary patch literal 2223 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 QSd;y@?w{xvqez$g0!}~^{Qv*} literal 0 HcmV?d00001 diff --git a/rectangle.py b/rectangle.py index 393dd05431..4a1b439ab0 100644 --- a/rectangle.py +++ b/rectangle.py @@ -1,7 +1,7 @@ -def area(a, b): +def area(a, b): '''Принимает число a и b (длина и ширина прямоугольника), возвращает площадь прямоугольника''' return a * b def perimeter(a, b): '''Принимает число a и b (длина и ширина прямоугольника), возвращает периметр прямоугольника''' - return (a + b)*2 \ No newline at end of file + return (a + b)*2 diff --git a/square.py b/square.py index 5ca7bdfbfd..17b0ea9925 100644 --- a/square.py +++ b/square.py @@ -4,4 +4,4 @@ def area(a): def perimeter(a): '''Принимает число a (сторона квадрата), возвращает периметр квадрата''' - return 4 * a \ No newline at end of file + return 4 * a diff --git a/test_circle.py b/test_circle.py new file mode 100644 index 0000000000..38b214d115 --- /dev/null +++ b/test_circle.py @@ -0,0 +1,21 @@ +import unittest +import circle + +class CircleTestCase(unittest.TestCase): + def test_zero_mul(self): + self.assertEqual(circle.area(0), 0) + + def test_one_mul(self): + self.assertEqual(circle.area(10), 314.1592653589793) + + def test_two_mul(self): + self.assertEqual(circle.area(67.636), 14371.619275936122) + + def test_three_mul(self): + self.assertEqual(circle.perimeter(0) , 0) + + def test_four_mul(self): + self.assertEqual(circle.perimeter(10), 62.83185307179586) + + def test_five_mul(self): + self.assertEqual(circle.perimeter(67.636), 424.96952143639845) \ No newline at end of file diff --git a/test_rectangle.py b/test_rectangle.py new file mode 100644 index 0000000000..f9c972197c --- /dev/null +++ b/test_rectangle.py @@ -0,0 +1,24 @@ +import unittest +import rectangle + +class RectangleTestCase(unittest.TestCase): + + def test_zero_mul(self): + self.assertEqual(rectangle.area(0,13), 0) + + def test_one_mul(self): + self.assertEqual(rectangle.area(5,13), 120) + + def test_two_mul(self): + self.assertEqual(rectangle.area(67.5, 3.5), 236.25) + + + def test_three_mul(self): + self.assertEqual(rectangle.perimeter(0,0), 0) + + + def test_four_mul(self): + self.assertEqual(rectangle.perimeter(10, 44), 128) + + def test_five_mul(self): + self.assertEqual(rectangle.perimeter(67.636, 42.364), 220) \ No newline at end of file diff --git a/test_square.py b/test_square.py new file mode 100644 index 0000000000..069a3ee479 --- /dev/null +++ b/test_square.py @@ -0,0 +1,22 @@ +import unittest +import square + +class SquareTestCase(unittest.TestCase): + + def test_zero_mul(self): + self.assertEqual(square.area(0), 0) + + def test_one_mul(self): + self.assertEqual(square.area(20), 400) + + def test_two_mul(self): + self.assertEqual(square.area(7.5), 56.25) + + def test_three_mul(self): + self.assertEqual(square.perimeter(0), 0) + + def test_four_mul(self): + self.assertEqual(square.perimeter(15), 60) + + def test_five_mul(self): + self.assertEqual(square.perimeter(17.25), 69) \ No newline at end of file diff --git a/test_triangle.py b/test_triangle.py new file mode 100644 index 0000000000..f8e2563f21 --- /dev/null +++ b/test_triangle.py @@ -0,0 +1,26 @@ +import unittest +import triangle + +class TriangleTestCase(unittest.TestCase): + + def test_zero_mul(self): + self.assertEqual(triangle.area(7,8), 28) + + def test_one_mul(self): + self.assertEqual(triangle.area(10, 5), 20) + + + def test_two_mul(self): + self.assertEqual(triangle.area(7.5, 3.5),13.125) + + + def test_three_mul(self): + self.assertEqual(triangle.perimeter(0, 0,0), 3) + + + def test_four_mul(self): + self.assertEqual(triangle.perimeter(10, 4, 8), 23) + + + def test_five_mul(self): + self.assertEqual(triangle.perimeter(34.23, 42.34, 23.43), 100) \ No newline at end of file diff --git a/triangle.py b/triangle.py index 10bf63ae10..366c47b854 100644 --- a/triangle.py +++ b/triangle.py @@ -1,6 +1,6 @@ -def area(a, h): +def area(a, h): '''Принимает число a, h (основание и высота треугольника) возвращает площадь треугольника''' return a * h / 2 def perimeter(a, b, c): '''Принимает число a, b, c (стороны треугольника), возвращает периметр треугольника''' - return a + b + c \ No newline at end of file + return a + b + c From dec815d49e1aba1aa1e23c8676f9862de632ee0b Mon Sep 17 00:00:00 2001 From: hoangdatitmo Date: Fri, 1 Nov 2024 02:30:16 +0300 Subject: [PATCH 11/22] delete --- .idea/.gitignore | 8 ------- .idea/geometric_lib.iml | 8 ------- .idea/misc.xml | 7 ------ .idea/modules.xml | 8 ------- .idea/vcs.xml | 6 ----- __pycache__/circle.cpython-311.pyc | Bin 707 -> 0 bytes __pycache__/rectangle.cpython-311.pyc | Bin 737 -> 0 bytes __pycache__/square.cpython-311.pyc | Bin 625 -> 0 bytes __pycache__/test_circle.cpython-311.pyc | Bin 2147 -> 0 bytes __pycache__/test_rectangle.cpython-311.pyc | Bin 2223 -> 0 bytes __pycache__/test_square.cpython-311.pyc | Bin 2114 -> 0 bytes __pycache__/test_triangle.cpython-311.pyc | Bin 2242 -> 0 bytes __pycache__/triangle.cpython-311.pyc | Bin 717 -> 0 bytes test_circle.py | 21 ----------------- test_rectangle.py | 24 ------------------- test_square.py | 22 ----------------- test_triangle.py | 26 --------------------- 17 files changed, 130 deletions(-) delete mode 100644 .idea/.gitignore delete mode 100644 .idea/geometric_lib.iml delete mode 100644 .idea/misc.xml delete mode 100644 .idea/modules.xml delete mode 100644 .idea/vcs.xml delete mode 100644 __pycache__/circle.cpython-311.pyc delete mode 100644 __pycache__/rectangle.cpython-311.pyc delete mode 100644 __pycache__/square.cpython-311.pyc delete mode 100644 __pycache__/test_circle.cpython-311.pyc delete mode 100644 __pycache__/test_rectangle.cpython-311.pyc delete mode 100644 __pycache__/test_square.cpython-311.pyc delete mode 100644 __pycache__/test_triangle.cpython-311.pyc delete mode 100644 __pycache__/triangle.cpython-311.pyc delete mode 100644 test_circle.py delete mode 100644 test_rectangle.py delete mode 100644 test_square.py delete mode 100644 test_triangle.py diff --git a/.idea/.gitignore b/.idea/.gitignore deleted file mode 100644 index 13566b81b0..0000000000 --- a/.idea/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -# Default ignored files -/shelf/ -/workspace.xml -# Editor-based HTTP Client requests -/httpRequests/ -# Datasource local storage ignored files -/dataSources/ -/dataSources.local.xml diff --git a/.idea/geometric_lib.iml b/.idea/geometric_lib.iml deleted file mode 100644 index bc2cd87409..0000000000 --- a/.idea/geometric_lib.iml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml deleted file mode 100644 index a6218fed0a..0000000000 --- a/.idea/misc.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml deleted file mode 100644 index 5c0675083d..0000000000 --- a/.idea/modules.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml deleted file mode 100644 index 35eb1ddfbb..0000000000 --- a/.idea/vcs.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/__pycache__/circle.cpython-311.pyc b/__pycache__/circle.cpython-311.pyc deleted file mode 100644 index e781c5ba9b2755796f180fdc9eba957e15c6ee2e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 707 zcmcIhIZFdk5T3VLjY+&4AvRlx7!WH_P|?CPf_PvjX<~NKXoBG-K@^Mi00~6UDt2~C zx)2i-&%ZFQldS}?NEb+#%6V&C6~xY2=3}mJ*!kXNTbmciF5G>qrwrg#CZDD>f|{R# z9O$647%YRX9KtfwU4)9xmLQ;3M`gi@erPkb{)d09beCc44Op-~(w7OGjx8 z&xMIM_&|P-1uTnwO&sBk*uy(~)VMZ4?E;plav=6JycMQ6z$+{S1~n|=BVJ=sPKZo{ zj8BqirzMg7M#w9c8V{$|EF}@mGmG)0{4uTG6C4Z8Oa~X{L$l$P;ZP*XBQawrv2Ceg zZiKniOC?Ws6PWPk>&T9tEM~^fx-wI!`fF5$zogLF?_&IrLP>AXntza@Y>Rs@WfkT( zF)H%GxV($I2|lFY9ttf_!r;-kkuo@Mr(D(=x4-yWk5kz#=XUO+UcklaQNh;9Cgj1c u+so=L6Y)(w9Wy3*Ck;u#lOqIG7h~)he5U_EsBHwFo{sJ)A3*H2P{EM(c~5CG*^=9Wr$BOR>aE6oO$u`18G zyuzA1!#Xy($+5;`d>Ws~s#IAOWR3#;Q{-FHk=Jy%DKGF5n^>0x-R=d;p&5=9Dm`O` z@@1JH+<-0BUE3#F;D7dbfCr<^%r=Xq)wgion+z{UH`c=2ThWLaTZjrfer)b1lJ?x; zN!x7-+Y}xODokk~i34vwf9@#1=tR0?;deZJm>LgdtS?AL=8o)tL8@xX4fQJ0`IFLz zVk6W;3pdFCl^CXd+k0q>y_9`y3!#1jdVNTbk`Newpvdy;#rgaax`V^7j96TPpaJ`oc1pS< zBp5WFzp&e;60Gb3*QIi1V`34obB=vG^Y+c|&CF9eJqKuyv89t71Nfw1Y#3_`7jSEU z4L5KIHbZ2#aR6rIc&s3qfh&S5Od&Mj8o#R<0Ms$}5-IthJlU0RxO&o;9aZD%R(4fY zzRG}Gd|6dhO$I0mP~>y@B3r0yBjMwLZ?1480{JXknyUX?BH!r(MPXar^QpWhG+Ccn zW%^e>T+D3dcXu+m{e0FsTF;kDt|gqcVx=F&-4ZbrkuXdmc<_---IeMaUN*!K{wmjI zlX4BWg5rNHx1$@`qZTS}s@|_CzAk7Ig1k}PViw(gqUeazf^*>rK|{jnfQS<$5cW(% um#>dT`9$l?VSKA_Zo6mBwn!sK9V)LP3?huNfnl)u0Zbr1@qRh-^ef-NIpl`` diff --git a/__pycache__/test_circle.cpython-311.pyc b/__pycache__/test_circle.cpython-311.pyc deleted file mode 100644 index 84a943389daaca469919c3d474438c904f736d10..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2147 zcmc&#%}*0S6rbs~W%wvqB1*%T7=o5B1A0(FQ!HRiOhG|{4RKStONA5)v#o~4LlZfg z=#7wILNq}dZpJ^u#I0E)*_-ho+%S0JW(f-t9VUL~ zHj1IBHEO)5CG2)VXNkxpOeGR_NOY0FDzF=NN&=uuass*~7hsX(24qqZ*kpQnaEeFc z@`$V?gAqlJ<}IRO^c}s}9R*k-&&Vpg50_-YQ}P!FiLQaIje2px^_Rmj(u7rs5Ap)$R;cM%BnxJ>epvhYF6(p*RRyCdvmN+ zW36hw?ZQlQf)R4qMaVCNwsCvKx`SUHzIdYqco9gv6u^uJ_dr)KGl(T-WrKB%9cxR; zaODMngQV{-H>@7@Z@tn-3X5^&I59Phw z$b0fJm(9%A*=4?(p4Mnr|l^fur_3_kydjM^_*C)6;_i zeimbKaL=1ZeKL{aM<4aP7R@Ow0Q+`5GC!a5wQIh1_0qpi{*lyABlWl6wk|$@nLeKS z)Dtu7wzu4*rA2f0)SGj@PR-Y;UhdDa0gVl)`DSE2_hZMj~T{lp)0K{7q z;XQ|n#BpxL5xUmuIZ)iH)2$TMh*ke6r9B%R^P~a~~ o83Wi6D5aaEB4gA|;>j3w$LXc`eS3U0rd2inG?c%Nm|}eSHzzf?761SM diff --git a/__pycache__/test_rectangle.cpython-311.pyc b/__pycache__/test_rectangle.cpython-311.pyc deleted file mode 100644 index 0064cc4368bfdc27d87eca0947f59ccc4c0e92c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2223 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 QSd;y@?w{xvqez$g0!}~^{Qv*} diff --git a/test_circle.py b/test_circle.py deleted file mode 100644 index 38b214d115..0000000000 --- a/test_circle.py +++ /dev/null @@ -1,21 +0,0 @@ -import unittest -import circle - -class CircleTestCase(unittest.TestCase): - def test_zero_mul(self): - self.assertEqual(circle.area(0), 0) - - def test_one_mul(self): - self.assertEqual(circle.area(10), 314.1592653589793) - - def test_two_mul(self): - self.assertEqual(circle.area(67.636), 14371.619275936122) - - def test_three_mul(self): - self.assertEqual(circle.perimeter(0) , 0) - - def test_four_mul(self): - self.assertEqual(circle.perimeter(10), 62.83185307179586) - - def test_five_mul(self): - self.assertEqual(circle.perimeter(67.636), 424.96952143639845) \ No newline at end of file diff --git a/test_rectangle.py b/test_rectangle.py deleted file mode 100644 index f9c972197c..0000000000 --- a/test_rectangle.py +++ /dev/null @@ -1,24 +0,0 @@ -import unittest -import rectangle - -class RectangleTestCase(unittest.TestCase): - - def test_zero_mul(self): - self.assertEqual(rectangle.area(0,13), 0) - - def test_one_mul(self): - self.assertEqual(rectangle.area(5,13), 120) - - def test_two_mul(self): - self.assertEqual(rectangle.area(67.5, 3.5), 236.25) - - - def test_three_mul(self): - self.assertEqual(rectangle.perimeter(0,0), 0) - - - def test_four_mul(self): - self.assertEqual(rectangle.perimeter(10, 44), 128) - - def test_five_mul(self): - self.assertEqual(rectangle.perimeter(67.636, 42.364), 220) \ No newline at end of file diff --git a/test_square.py b/test_square.py deleted file mode 100644 index 069a3ee479..0000000000 --- a/test_square.py +++ /dev/null @@ -1,22 +0,0 @@ -import unittest -import square - -class SquareTestCase(unittest.TestCase): - - def test_zero_mul(self): - self.assertEqual(square.area(0), 0) - - def test_one_mul(self): - self.assertEqual(square.area(20), 400) - - def test_two_mul(self): - self.assertEqual(square.area(7.5), 56.25) - - def test_three_mul(self): - self.assertEqual(square.perimeter(0), 0) - - def test_four_mul(self): - self.assertEqual(square.perimeter(15), 60) - - def test_five_mul(self): - self.assertEqual(square.perimeter(17.25), 69) \ No newline at end of file diff --git a/test_triangle.py b/test_triangle.py deleted file mode 100644 index f8e2563f21..0000000000 --- a/test_triangle.py +++ /dev/null @@ -1,26 +0,0 @@ -import unittest -import triangle - -class TriangleTestCase(unittest.TestCase): - - def test_zero_mul(self): - self.assertEqual(triangle.area(7,8), 28) - - def test_one_mul(self): - self.assertEqual(triangle.area(10, 5), 20) - - - def test_two_mul(self): - self.assertEqual(triangle.area(7.5, 3.5),13.125) - - - def test_three_mul(self): - self.assertEqual(triangle.perimeter(0, 0,0), 3) - - - def test_four_mul(self): - self.assertEqual(triangle.perimeter(10, 4, 8), 23) - - - def test_five_mul(self): - self.assertEqual(triangle.perimeter(34.23, 42.34, 23.43), 100) \ No newline at end of file From 1e31b79aa0a7a3319817817761072f96bb19c874 Mon Sep 17 00:00:00 2001 From: hoangdatitmo Date: Fri, 1 Nov 2024 02:42:14 +0300 Subject: [PATCH 12/22] add unittest --- .idea/.gitignore | 8 +++++++ .idea/geometric_lib.iml | 8 +++++++ .idea/misc.xml | 7 ++++++ .idea/modules.xml | 8 +++++++ .idea/vcs.xml | 6 +++++ __pycache__/circle.cpython-311.pyc | Bin 0 -> 707 bytes __pycache__/rectangle.cpython-311.pyc | Bin 0 -> 737 bytes __pycache__/square.cpython-311.pyc | Bin 0 -> 625 bytes __pycache__/test_circle.cpython-311.pyc | Bin 0 -> 2147 bytes __pycache__/test_rectangle.cpython-311.pyc | Bin 0 -> 2223 bytes __pycache__/test_square.cpython-311.pyc | Bin 0 -> 2114 bytes __pycache__/test_triangle.cpython-311.pyc | Bin 0 -> 2242 bytes __pycache__/triangle.cpython-311.pyc | Bin 0 -> 717 bytes test_circle.py | 21 +++++++++++++++++ test_rectangle.py | 24 +++++++++++++++++++ test_square.py | 22 +++++++++++++++++ test_triangle.py | 26 +++++++++++++++++++++ 17 files changed, 130 insertions(+) create mode 100644 .idea/.gitignore create mode 100644 .idea/geometric_lib.iml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml create mode 100644 __pycache__/circle.cpython-311.pyc create mode 100644 __pycache__/rectangle.cpython-311.pyc create mode 100644 __pycache__/square.cpython-311.pyc create mode 100644 __pycache__/test_circle.cpython-311.pyc create mode 100644 __pycache__/test_rectangle.cpython-311.pyc create mode 100644 __pycache__/test_square.cpython-311.pyc create mode 100644 __pycache__/test_triangle.cpython-311.pyc create mode 100644 __pycache__/triangle.cpython-311.pyc create mode 100644 test_circle.py create mode 100644 test_rectangle.py create mode 100644 test_square.py create mode 100644 test_triangle.py diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000000..13566b81b0 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/geometric_lib.iml b/.idea/geometric_lib.iml new file mode 100644 index 0000000000..bc2cd87409 --- /dev/null +++ b/.idea/geometric_lib.iml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000000..a6218fed0a --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000000..5c0675083d --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000000..35eb1ddfbb --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/__pycache__/circle.cpython-311.pyc b/__pycache__/circle.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e781c5ba9b2755796f180fdc9eba957e15c6ee2e GIT binary patch literal 707 zcmcIhIZFdk5T3VLjY+&4AvRlx7!WH_P|?CPf_PvjX<~NKXoBG-K@^Mi00~6UDt2~C zx)2i-&%ZFQldS}?NEb+#%6V&C6~xY2=3}mJ*!kXNTbmciF5G>qrwrg#CZDD>f|{R# z9O$647%YRX9KtfwU4)9xmLQ;3M`gi@erPkb{)d09beCc44Op-~(w7OGjx8 z&xMIM_&|P-1uTnwO&sBk*uy(~)VMZ4?E;plav=6JycMQ6z$+{S1~n|=BVJ=sPKZo{ zj8BqirzMg7M#w9c8V{$|EF}@mGmG)0{4uTG6C4Z8Oa~X{L$l$P;ZP*XBQawrv2Ceg zZiKniOC?Ws6PWPk>&T9tEM~^fx-wI!`fF5$zogLF?_&IrLP>AXntza@Y>Rs@WfkT( zF)H%GxV($I2|lFY9ttf_!r;-kkuo@Mr(D(=x4-yWk5kz#=XUO+UcklaQNh;9Cgj1c u+so=L6Y)(w9Wy3*Ck;u#lOqIG7h~)he5U_EsBHwFo{sJ)A3*H2P{EM(c~5CG*^=9Wr$BOR>aE6oO$u`18G zyuzA1!#Xy($+5;`d>Ws~s#IAOWR3#;Q{-FHk=Jy%DKGF5n^>0x-R=d;p&5=9Dm`O` z@@1JH+<-0BUE3#F;D7dbfCr<^%r=Xq)wgion+z{UH`c=2ThWLaTZjrfer)b1lJ?x; zN!x7-+Y}xODokk~i34vwf9@#1=tR0?;deZJm>LgdtS?AL=8o)tL8@xX4fQJ0`IFLz zVk6W;3pdFCl^CXd+k0q>y_9`y3!#1jdVNTbk`Newpvdy;#rgaax`V^7j96TPpaJ`oc1pS< zBp5WFzp&e;60Gb3*QIi1V`34obB=vG^Y+c|&CF9eJqKuyv89t71Nfw1Y#3_`7jSEU z4L5KIHbZ2#aR6rIc&s3qfh&S5Od&Mj8o#R<0Ms$}5-IthJlU0RxO&o;9aZD%R(4fY zzRG}Gd|6dhO$I0mP~>y@B3r0yBjMwLZ?1480{JXknyUX?BH!r(MPXar^QpWhG+Ccn zW%^e>T+D3dcXu+m{e0FsTF;kDt|gqcVx=F&-4ZbrkuXdmc<_---IeMaUN*!K{wmjI zlX4BWg5rNHx1$@`qZTS}s@|_CzAk7Ig1k}PViw(gqUeazf^*>rK|{jnfQS<$5cW(% um#>dT`9$l?VSKA_Zo6mBwn!sK9V)LP3?huNfnl)u0Zbr1@qRh-^ef-NIpl`` literal 0 HcmV?d00001 diff --git a/__pycache__/test_circle.cpython-311.pyc b/__pycache__/test_circle.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..84a943389daaca469919c3d474438c904f736d10 GIT binary patch literal 2147 zcmc&#%}*0S6rbs~W%wvqB1*%T7=o5B1A0(FQ!HRiOhG|{4RKStONA5)v#o~4LlZfg z=#7wILNq}dZpJ^u#I0E)*_-ho+%S0JW(f-t9VUL~ zHj1IBHEO)5CG2)VXNkxpOeGR_NOY0FDzF=NN&=uuass*~7hsX(24qqZ*kpQnaEeFc z@`$V?gAqlJ<}IRO^c}s}9R*k-&&Vpg50_-YQ}P!FiLQaIje2px^_Rmj(u7rs5Ap)$R;cM%BnxJ>epvhYF6(p*RRyCdvmN+ zW36hw?ZQlQf)R4qMaVCNwsCvKx`SUHzIdYqco9gv6u^uJ_dr)KGl(T-WrKB%9cxR; zaODMngQV{-H>@7@Z@tn-3X5^&I59Phw z$b0fJm(9%A*=4?(p4Mnr|l^fur_3_kydjM^_*C)6;_i zeimbKaL=1ZeKL{aM<4aP7R@Ow0Q+`5GC!a5wQIh1_0qpi{*lyABlWl6wk|$@nLeKS z)Dtu7wzu4*rA2f0)SGj@PR-Y;UhdDa0gVl)`DSE2_hZMj~T{lp)0K{7q z;XQ|n#BpxL5xUmuIZ)iH)2$TMh*ke6r9B%R^P~a~~ o83Wi6D5aaEB4gA|;>j3w$LXc`eS3U0rd2inG?c%Nm|}eSHzzf?761SM literal 0 HcmV?d00001 diff --git a/__pycache__/test_rectangle.cpython-311.pyc b/__pycache__/test_rectangle.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0064cc4368bfdc27d87eca0947f59ccc4c0e92c9 GIT binary patch literal 2223 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 QSd;y@?w{xvqez$g0!}~^{Qv*} literal 0 HcmV?d00001 diff --git a/test_circle.py b/test_circle.py new file mode 100644 index 0000000000..38b214d115 --- /dev/null +++ b/test_circle.py @@ -0,0 +1,21 @@ +import unittest +import circle + +class CircleTestCase(unittest.TestCase): + def test_zero_mul(self): + self.assertEqual(circle.area(0), 0) + + def test_one_mul(self): + self.assertEqual(circle.area(10), 314.1592653589793) + + def test_two_mul(self): + self.assertEqual(circle.area(67.636), 14371.619275936122) + + def test_three_mul(self): + self.assertEqual(circle.perimeter(0) , 0) + + def test_four_mul(self): + self.assertEqual(circle.perimeter(10), 62.83185307179586) + + def test_five_mul(self): + self.assertEqual(circle.perimeter(67.636), 424.96952143639845) \ No newline at end of file diff --git a/test_rectangle.py b/test_rectangle.py new file mode 100644 index 0000000000..f9c972197c --- /dev/null +++ b/test_rectangle.py @@ -0,0 +1,24 @@ +import unittest +import rectangle + +class RectangleTestCase(unittest.TestCase): + + def test_zero_mul(self): + self.assertEqual(rectangle.area(0,13), 0) + + def test_one_mul(self): + self.assertEqual(rectangle.area(5,13), 120) + + def test_two_mul(self): + self.assertEqual(rectangle.area(67.5, 3.5), 236.25) + + + def test_three_mul(self): + self.assertEqual(rectangle.perimeter(0,0), 0) + + + def test_four_mul(self): + self.assertEqual(rectangle.perimeter(10, 44), 128) + + def test_five_mul(self): + self.assertEqual(rectangle.perimeter(67.636, 42.364), 220) \ No newline at end of file diff --git a/test_square.py b/test_square.py new file mode 100644 index 0000000000..069a3ee479 --- /dev/null +++ b/test_square.py @@ -0,0 +1,22 @@ +import unittest +import square + +class SquareTestCase(unittest.TestCase): + + def test_zero_mul(self): + self.assertEqual(square.area(0), 0) + + def test_one_mul(self): + self.assertEqual(square.area(20), 400) + + def test_two_mul(self): + self.assertEqual(square.area(7.5), 56.25) + + def test_three_mul(self): + self.assertEqual(square.perimeter(0), 0) + + def test_four_mul(self): + self.assertEqual(square.perimeter(15), 60) + + def test_five_mul(self): + self.assertEqual(square.perimeter(17.25), 69) \ No newline at end of file diff --git a/test_triangle.py b/test_triangle.py new file mode 100644 index 0000000000..f8e2563f21 --- /dev/null +++ b/test_triangle.py @@ -0,0 +1,26 @@ +import unittest +import triangle + +class TriangleTestCase(unittest.TestCase): + + def test_zero_mul(self): + self.assertEqual(triangle.area(7,8), 28) + + def test_one_mul(self): + self.assertEqual(triangle.area(10, 5), 20) + + + def test_two_mul(self): + self.assertEqual(triangle.area(7.5, 3.5),13.125) + + + def test_three_mul(self): + self.assertEqual(triangle.perimeter(0, 0,0), 3) + + + def test_four_mul(self): + self.assertEqual(triangle.perimeter(10, 4, 8), 23) + + + def test_five_mul(self): + self.assertEqual(triangle.perimeter(34.23, 42.34, 23.43), 100) \ No newline at end of file From 76445c75adc406efb9fc9cd22d9de636e9dcdd7a Mon Sep 17 00:00:00 2001 From: hoangdatitmo Date: Fri, 15 Nov 2024 01:00:30 +0300 Subject: [PATCH 13/22] Fix comment --- circle.py | 23 ++++++++++++++++++++--- rectangle.py | 25 +++++++++++++++++++++---- square.py | 20 ++++++++++++++++++-- triangle.py | 22 +++++++++++++++++++--- 4 files changed, 78 insertions(+), 12 deletions(-) diff --git a/circle.py b/circle.py index 214dc85846..6e5fdf9407 100644 --- a/circle.py +++ b/circle.py @@ -1,11 +1,28 @@ import math - '''Подключит библиотеку math''' +'''Подключит библиотеку math''' def area(r): - '''Принимает число r (радиус круга), возвращает площадь круга''' + ''' + Принимает число r (радиус круга), возвращает площадь круга + + Example: + Input: 4 + Output: 50.26548245743669 + + ''' + + + return math.pi * r * r def perimeter(r): - '''Принимает число r (радиус круга), возвращает периметр круга''' + ''' + Принимает число r (радиус круга), возвращает периметр круга + + Example: + Input: 4 + Output: 25.132741228718345 + + ''' return 2 * math.pi * r diff --git a/rectangle.py b/rectangle.py index 4a1b439ab0..e43a656bc1 100644 --- a/rectangle.py +++ b/rectangle.py @@ -1,7 +1,24 @@ -def area(a, b): - '''Принимает число a и b (длина и ширина прямоугольника), возвращает площадь прямоугольника''' - return a * b + +def area(a, b): + ''' + Принимает число a и b (длина и ширина прямоугольника), возвращает площадь прямоугольника + Example: + Input: 5 6 + Output: 30 + + ''' + return a * b + def perimeter(a, b): - '''Принимает число a и b (длина и ширина прямоугольника), возвращает периметр прямоугольника''' + ''' + Принимает число a и b (длина и ширина прямоугольника), возвращает периметр прямоугольника + + Example: + Input: 5 6 + Output: 22 + + ''' return (a + b)*2 + + \ No newline at end of file diff --git a/square.py b/square.py index 17b0ea9925..3a289f75b9 100644 --- a/square.py +++ b/square.py @@ -1,7 +1,23 @@ def area(a): - '''Принимает число a (сторона квадрата), возвращает площадь квадрата''' + ''' + Принимает число a (сторона квадрата), возвращает площадь квадрата + + Example: + Input: 3 + Output: 9 + + ''' + return a * a def perimeter(a): - '''Принимает число a (сторона квадрата), возвращает периметр квадрата''' + ''' + Принимает число a (сторона квадрата), возвращает периметр квадрата + + Example: + Input: 3 + Output: 12 + + ''' + return 4 * a diff --git a/triangle.py b/triangle.py index 366c47b854..f9191bd9bd 100644 --- a/triangle.py +++ b/triangle.py @@ -1,6 +1,22 @@ -def area(a, h): - '''Принимает число a, h (основание и высота треугольника) возвращает площадь треугольника''' +def area(a, h): + + ''' + Принимает число a, h (основание и высота треугольника) возвращает площадь треугольника + + Example: + Input: 1 2 + Output: 1 + + ''' return a * h / 2 def perimeter(a, b, c): - '''Принимает число a, b, c (стороны треугольника), возвращает периметр треугольника''' + ''' + Принимает число a, b, c (стороны треугольника), возвращает периметр треугольника + + Example: + Input: 1 2 3 + Output: 6 + + ''' + return a + b + c From 8fad136cce2552d7316860bbf033bf54ac0ae9cb Mon Sep 17 00:00:00 2001 From: hoangdatitmo Date: Fri, 15 Nov 2024 01:02:44 +0300 Subject: [PATCH 14/22] A From 8a3093e06eddec93d203d82e4a542de468984274 Mon Sep 17 00:00:00 2001 From: hoangdatitmo Date: Fri, 15 Nov 2024 10:23:05 +0300 Subject: [PATCH 15/22] Add comment --- __pycache__/circle.cpython-311.pyc | Bin 707 -> 1193 bytes __pycache__/rectangle.cpython-311.pyc | Bin 737 -> 1442 bytes __pycache__/square.cpython-311.pyc | Bin 625 -> 1024 bytes __pycache__/test_circle.cpython-311.pyc | Bin 2147 -> 4618 bytes __pycache__/test_rectangle.cpython-311.pyc | Bin 2223 -> 4799 bytes __pycache__/test_square.cpython-311.pyc | Bin 2114 -> 4894 bytes __pycache__/test_triangle.cpython-311.pyc | Bin 2242 -> 5498 bytes __pycache__/triangle.cpython-311.pyc | Bin 717 -> 1647 bytes circle.py | 8 ++- rectangle.py | 9 +++ square.py | 8 +++ test_circle.py | 66 ++++++++++++++++++--- test_rectangle.py | 60 +++++++++++++++---- test_square.py | 53 +++++++++++++++-- test_triangle.py | 61 +++++++++++++++---- triangle.py | 10 ++++ 16 files changed, 236 insertions(+), 39 deletions(-) diff --git a/__pycache__/circle.cpython-311.pyc b/__pycache__/circle.cpython-311.pyc index e781c5ba9b2755796f180fdc9eba957e15c6ee2e..08884eeaf46a137eb15a206c936ce196fb0cc0b6 100644 GIT binary patch literal 1193 zcmcgsOKTHR6h1SV6w{;+@lntUqteoV1T&pH8pR^kMM136UCCz5OzYUZxS3cj6;dN; zAVPQTrnu8qH=#BdwAR0H2f8S;5?mEr1VT4mdG2i*>tmy!XP9s9x#x8`=ezT&qoW;A z`s?ATq6^>)Qw~IIE*ibKSOgt(Aqf-U0bP6o6N2tS6m?-7{L&6{y_pc25$xl}7c)X* z7GV*rL$*1v4sxT-k`S6QDZWI@o0gUM=CJBCx8~Y#ElzW9BI>Sju-Xpd0PeN2%)u>_kqV4HfhATGMdijt(dHGWh`%TEp#!U zghOgnQ9}`RFdQEG9!yvtzOp8Q-ZS8VJ?{+3q^D$)w9 zS-4%gv~;vIOr=u|OalL#4!ZPvLi|7ncfN*4<30Wdbf|KIZ7^!tg})?(5()$dm53Tt zlxQRv9aKXl)BU@ QoUTI)&UG;LSKz6?0q&PiEdT%j delta 385 zcmZ3sI4%_NU* zb_yeQ(^1T3D$NF)9XvUJS)%?W$azH|ql?&qL@~%k3Pqei@)l=7YEfoxYDsEQ5g(8b z5`$X*fSaecq^G>odWK-9{RI}OB5t6ZCUX(c3k*ddr-C)CWB`kU4g1AmlbfGXnv-f* rBmk5L*-~rVHvdDv diff --git a/__pycache__/rectangle.cpython-311.pyc b/__pycache__/rectangle.cpython-311.pyc index 35df6c8b48ea368e9101f5320355bb86f893b21a..562dde634f359b4837c3f215c27feb161780a845 100644 GIT binary patch literal 1442 zcmdT^OGs2v7(VCDjO9F(5wi%33y~<)P^Ll>ZPLYnWF{J@VAr`OZF$DT-)OM2CC6Ip2T&*PZj-^E43f z5*&@iwy^_lLOu#o9<;RBt--}C(aC)>Ky->ob)}ayxgtv06@NWAT{w612(!d4My*c+@&tFD?eDUd@8alh#~sOFXA?55Rg>J<3oqC7CUKIyC=2QO!SHEjDDiiCQOJs&RwS9{-_EOhZucsmr9#*H56 zxw_f6(Fgt4U|?{oe-Q8)z77#{YuE&QVsV&EZ^hCOOTVqIpSu0t=bxI)wPw3^u^Rcg zB46Upf22t4R(F?l=}CP+Di82q>2gU5dqsQ*Jo^WQ+1xB&O9B(RWa2Yr;vU%%`e79U z#Pw9t9t+^wsZ1Koj2X7Un7EgMVn2a^N~`<3O7jP1Xs&bSZ0@;og`3&STB!f(Y0l3LRKoO|P zKvoLOe5TSxKrYbyMfER1YKuV5C}IH;#UQSNLJ>QVy2V+LT9lcaT9R5+1aczKZ4AW% zKmuqt5AOuVPS**Bot76^M2a|pf_|DzMIaY~l|l>z34=}g#bJ}1pHiBWYFESy6a#xg f7s&X)Y{1CK_<@OuQSbu;oZw($6a{h739vN)H?2Ht diff --git a/__pycache__/square.cpython-311.pyc b/__pycache__/square.cpython-311.pyc index cb208bdf925f372c73054a4ddc8e3958e225bbb8..cba2eaf32a16b1d88c96740c6740cb577f31cde6 100644 GIT binary patch literal 1024 zcmcgrOKTKC5U!rt4Q3w+5lJo)MkFCCMu;zT5HH3;y5FSJ3BYkC zy1X*21N@LqcaRQf9Y?SY7CePJU=g&$(iS13FLfD`7{`e#KQ2E6^&Mv^49uAr&FuTe;izMwm&cl?**B02drIT-j<&kZCR7$yrcNu!&Q!U#8msk9PeMrHj=79gt#WK|J} zRSYsjp@Ukdei@K;i>4BO~JnCMHI~4-8O3Uho44G9Mu$2(|_QBu6oz diff --git a/__pycache__/test_circle.cpython-311.pyc b/__pycache__/test_circle.cpython-311.pyc index 84a943389daaca469919c3d474438c904f736d10..c946a719b7763cad2b8eeeb94bbefb397a3d0953 100644 GIT binary patch literal 4618 zcmd5=%}*Og6rb@2EFa#*Kw3m85R(AT2W<+ZKmwwIC~8%aR7oXbp<0Gnz+eoWT|!FJ z1hqL738}ro(MlyM#I=7$rP`LOB1=6~Jv7{?XnWv7-(=JVoOlml{`JiFAZ|wb{;k$RnJ`9a_jp?wWpfS8-;j^?y$jd6956&${mK&_g z?yzV};Cb44fEDtqa&GPOjccn<)}F+?NyQhpwtW~xPJpxHC}+QOWETT!>c-H|57wS* zgS-?Zj<*cDyb`+UO0n+ws47UkVMoeTikUu`li~Ev>eIESabIUr>5N+&mtoi`k@{o2 zYP9!<7k3AzBGvQ5KY4#VmYBX|c*~ZUsl>%<7xIW*Pbj_=xT&=#sr1CH?WCyDqyFL; zGg}TW!B4tuLFM5&Rabd|!(`zweVVI=%igqeSyo+b;g(XGV$>iP3ni7dxV4=WH@jHm zRj`t&PkKJ~FVEZ=kF8bB$T!kxax9$Qt6Ld+sXM%REk{Ag#00Vw%ZQt zIWBi-;YY=DhpB8tPWkyzv9&byp&Av8Y`0ccjj1q~Hu54c z#*>OaZf%9MTrgdfwg7ZqwzPdgACs6UZZOGmJ*LdD37YM!mcsD>N}qEi{LkUx;X%a` zpN~#8hocLN`j%6q8D0jDNLPe3P38KnPZvWG$UhZ$&&gFy!zVR28)d>UjT)Ys){C1a zt8Rsv`&R*AbIP@Avl}f5xiKX-e(l_mDu0pcl2YA9&Bk0px{{Kv#53)c*@$EE&)DR3 z=<_xN419|bjQkW0o5j+07iYAWVDf$kfG`1Y-_R0rOG<7zqc(szNz)L=jLOk{h3t)! zf^O~&`+{mH-@^Hq5em)$|5McSYxs7Iz(O91D4=R2yUiQzDripMiBA!fUKJbkO-X2c zf~k|oImjTUFR2l;%-9mk>3e{fmcL8e&vbVfYaWWiTvyEiZMO5OKAjtZe@bbV z9r`FCx2NRxv%5nhct(V)_Pjgx_D2sSdR#adHo^1K@ixgH@g6)pXOp$rczstw?oP?w zXVfOV9~N9>pPT&QRP`VH^G4i4{5HZ$M~5@F8Fc;TWJ?q@Zr>^&;Fr7(f^V*fP?r zsM8$ts{rh1E{aStpFJ0Kx9pKDNYvehq6r}OqG$q$?I@a1s2xD9381}*q6r{gLeT`t z;l8>@vT#H!&nm=_6Vzs3De90gi{EAZfh8?Q!#XC7v~=J6$Ae+JVKg8ndSTB4>89bt x0e&0qfjNmb3b5y-lW(f-t9VUL~ zHj1IBHEO)5CG2)VXNkxpOeGR_NOY0FDzF=NN&=uuass*~7hsX(24qqZ*kpQnaEeFc z@`$V?gAqlJ<}IRO^c}s}9R*k-&&Vpg50_-YQ}P!FiLQaIje2px^_Rmj(u7rs5Ap)$R;cM%BnxJ>epvhYF6(p*RRyCdvmN+ zW36hw?ZQlQf)R4qMaVCNwsCvKx`SUHzIdYqco9gv6u^uJ_dr)KGl(T-WrKB%9cxR; zaODMngQV{-H>@7@Z@tn-3X5^&I59Phw z$b0fJm(9%A*=4?(p4Mnr|l^fur_3_kydjM^_*C)6;_i zeimbKaL=1ZeKL{aM<4aP7R@Ow0Q+`5GC!a5wQIh1_0qpi{*lyABlWl6wk|$@nLeKS z)Dtu7wzu4*rA2f0)SGj@PR-Y;UhdDa0gVl)`DSE2_hZMj~T{lp)0K{7q z;XQ|n#BpxL5xUmuIZ)iH)2$TMh*ke6r9B%R^P~a~~ o83Wi6D5aaEB4gA|;>j3w$LXc`eS3U0rd2inG?c%Nm|}eSHzzf?761SM diff --git a/__pycache__/test_rectangle.cpython-311.pyc b/__pycache__/test_rectangle.cpython-311.pyc index 0064cc4368bfdc27d87eca0947f59ccc4c0e92c9..9dde91c4265d5a08155aadb9a1f8aa771ab31d4b 100644 GIT binary patch literal 4799 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 L{!^igcjx~BR>;$! delta 453 zcmbQIc1VD4IWI340}$x*sHB@QP2{s=WSHn-!)P?I)tDuiL6c+Sk7bPPB0vS16Bs84 z@=HwK%cRA~Ir#^A&b=HkF3+U91I;^y27L!7)3!E6;v-u8eEYy*r0Tg z!}JP==>-@n0-5Be$vOF)fR?BbNEgUqMG_!F21LkDwilFR%43)uFDO&b#>lGwfdNhc zxkex^lmK!KL0l*S?Re#HebAj}DJ;GrM~74hqU zbJ0&hL3jpV>sScN;uk_!sDNf{(H`YLqHSztpz}yjgauI+76P*PP=Kr8z6&8a2v{YD z0ITIHzyoqMAdwFM*2n~~R;~f8lWPI%SFGasB*HGFXmTVDY@6229l!f*MJb=N5fMFwP14*UdsJaajb zgQd0z93m^R!U4Exfgpqd)`MnULRA%-ompK=q)n2wCuxQfR7tFhW=K`icT}9}vF(nF zW4Gp~FW$I*>uTcmz^yDSB<@_$v+|AE%17|R_{y@H%BJoqxs%>y_mn%~;?*+%4}_Pb z{sn1!PTHQdJwEz$HGkZYx|!6Szip5RBN5$cTi`9cQwGIS#=MN$3D-GM$MZ1U)}NgzP1GWWG{~eujT&T( zkulwA?~|S6MD2?oSB_3bldnGC==kpJOf>n++;6!ti# zifKnuPGuICDODD;@q3B%nzCzB_V{)nSv&Tr_UEMi$)(5F@+V+_3P)HtqV*YMh>;=P zY2{44Z4&yIu||&~A3WA@`dvYK3I{MJQT+4EsOs>j$-_bJ)4g=%x!?pmWM>pwq_J>M zo@x=uP2mw19@#iykO@X6bf=Z`_O=Rp)6J~#_v_cMxy-hk<{hmZOJ!Epvi_Udj;bf4 zBolj9J&x09B<3tYN%DrO$KB%f-bsT@F*2n)t(=y9loQU?ia#uLXg9(erEX`%xjj?2 zyMc2HBHT=w(rMSgts zGOe{}K+zDBhV+qngIs3hvhK9^rx!W|Gd8Q$EKOySyNKp6&&FI0mai?FPyDlRnd1Nw zGGLb^)9%@)O6ckKr>7{Lo!-O9 zk*|0r^Y=Ge3~8K6Jiu2&_wuWT6k$?C@4sk}8AfJwrhh#9bvGH*4eZyUX%g z8vFI}IKG&%&d_FD*arwl5ZVzwLck)6VnIQ1=cKq@P|S%Gfx z5XFkxBx{*e7DZ)}oAzryi`ZE>TO@m%oVWhr3v?b%;M+A7U;J$bMNxbyG(F%Sx3d`< X7xDT2_``j6r1MXH@~;Xm{K@|S=b@e6 delta 700 zcmeyRbx4qJIWI340}z;VsH7J$P2{s=WSHn-!)P?I)tDuiL6c+Rk0%1WC8@IaP9#KQfBh!nkZe&BaW5?a9we1zRHvvW6GR;{@9>S%6zq!tkP` z?iESh6-5_0jIMAPU4Ws3iuP_@zjVURIxE5>-2b9M<*@8uhQEYMvYvSZREa8HD zU>i#^ic%qV%7g6Wg7XC@Phgjnaa>Wj0q7OuE0V?=0xxoyU*Ryn07H`(veiuf&&npi z0(4*zJIF6$AePkRkIW*_fJ@6SEkXnwCyXl!GJJ9?+fGIl#hGOgr+`D5GY!g>1S+;- z_S58?EFr8V3bsN5WRDDpPyi9ilRJgwyo!O$1~~k{!pLg)fdNjiF|rzixKM(Fk<}8! zg%Uun1&9kFCVv!G3IOul89`$1j75SVTR`5_WVyvrnwMDu3cDh1pujDT5Fpbzu{aeh zU!)FF30BSzWc}i>$<0qG%}KQ@(wZzNs_G)f2r?5pIicc;xW-4Ya>d55)*1U>e6en1m@Y%EWC*h#T-0l1#5-J**az2&W+l&oM$q zPBBO@crNauKPg6Gl8I4VW=hw|8;->6M%KXgDtI<#|H1k2dHF&=(d`WzeVm(y%`BNc zFTdi6BVA@it#H)V!-ko5SYbO|ayi(i+a8+M^t9F!m0^r6Zf$DxdyhArJL_-OyZ8HT zZt3AGL9;$Gn0D&i)cJahlT3(4P>hgY)x@=VLVvLHLG1oEQC>4!UXvkO$&P1N6P42~ zA9g32MZI^n-m9E5KJcCY*gDe+Z5N=uBh}Uc*gLzxuu`2CU=M|%e;^eafY88aHv>2O zTJE~jKXzcEVeAk%H!k3w#89`D7PcHoOYu;vCaHgwBt5z;kFJ>9y9&s?y@1@+ahfA~ zRRPgmd7>lf>0d~XPZ6g>D3SEe*e5g;NB&9r?mA|$T5$upokZd$VOrcR%2H2VQIb!o z;(8~`N{kd;AkW((G-vyk5&d93fy-a#vhKP3bG`{=~@>t zxfL>Plk*LTD{(}>qd>-P{tw2^`8vRVajwglGp|BtukZzDeL=-#i1dRUOGRRUeQ*e_ z52pr)VQ@G@$Z^_4QJtix=ue4GNt9L1^t43hXq%jCMujM=+G&SGm+*gat{oMktm>hb zL_x~sTn{QlQvE5DOet|y6ch?~<6X~qs47?W0#AtYsn=OtdpOh=hy~3fd=tj0a^8bR X#-V9ihPt&)8Ilt$XXSm;Qp^1Yx-sTv delta 294 zcmaFQbC#8FIWI340}!aOtEA6ioXBUZ#suUs1Mz1eATgbxhM|VBij{#Og|Uj8fgzYd zlc{trP+~Gai{fN!#v1mQAoVL5CL1sr@^b*0j6nQZ07x`2OuoRRfYmslYzE8?GQ$R@1K#3=fK0Zy>NSqL!@3v2)Y DLpL<) diff --git a/circle.py b/circle.py index 6e5fdf9407..9ca241719b 100644 --- a/circle.py +++ b/circle.py @@ -10,7 +10,9 @@ def area(r): Output: 50.26548245743669 ''' - + # Проверка на корректность ввода + if not isinstance(r, (int, float)) or r < 0 or r > 10**10: + return "wrong input" return math.pi * r * r @@ -25,4 +27,8 @@ def perimeter(r): Output: 25.132741228718345 ''' + # Проверка на корректность ввода + if not isinstance(r, (int, float)) or r < 0 or r > 10**10: + return "wrong input" + return 2 * math.pi * r diff --git a/rectangle.py b/rectangle.py index e43a656bc1..c1de7e5bf3 100644 --- a/rectangle.py +++ b/rectangle.py @@ -8,6 +8,10 @@ def area(a, b): Output: 30 ''' + # Проверка на корректность ввода + if not isinstance(a, (int, float)) or not isinstance(b, (int, float)) or a < 0 or b < 0 or a > 10**10 or b > 10**10: + return "wrong input" + return a * b def perimeter(a, b): @@ -19,6 +23,11 @@ def perimeter(a, b): Output: 22 ''' + + # Проверка на корректность ввода + if not isinstance(a, (int, float)) or not isinstance(b, (int, float)) or a < 0 or b < 0 or a > 10**10 or b > 10**10: + return "wrong input" + return (a + b)*2 \ No newline at end of file diff --git a/square.py b/square.py index 3a289f75b9..8a92d52151 100644 --- a/square.py +++ b/square.py @@ -8,6 +8,10 @@ def area(a): ''' + # Проверка на корректность ввода + if not isinstance(a, (int, float)) or a < 0 or a > 10**10: + return "wrong input" + return a * a def perimeter(a): @@ -20,4 +24,8 @@ def perimeter(a): ''' + # Проверка на корректность ввода + if not isinstance(a, (int, float)) or a < 0 or a > 10**10: + return "wrong input" + return 4 * a diff --git a/test_circle.py b/test_circle.py index 38b214d115..1cfc7676de 100644 --- a/test_circle.py +++ b/test_circle.py @@ -1,21 +1,73 @@ -import unittest import circle +import unittest class CircleTestCase(unittest.TestCase): + # Проверяет, когда радиус равен 0 def test_zero_mul(self): - self.assertEqual(circle.area(0), 0) + assert circle.area(0) == 0 + # Проверяет, когда радиус равен 10 def test_one_mul(self): - self.assertEqual(circle.area(10), 314.1592653589793) + assert circle.area(10) == 314.1592653589793 + # Проверяет, является ли радиус действительным числом def test_two_mul(self): - self.assertEqual(circle.area(67.636), 14371.619275936122) + assert circle.area(67.636) == 14371.619275936122 + # Проверяет, когда окружность с радиусом равна 0 def test_three_mul(self): - self.assertEqual(circle.perimeter(0) , 0) + assert circle.perimeter(0) == 0 + # Проверяет, когда окружность равен 10 def test_four_mul(self): - self.assertEqual(circle.perimeter(10), 62.83185307179586) + assert circle.perimeter(10) == 62.83185307179586 + # Проверяет, является ли окружность действительным числом def test_five_mul(self): - self.assertEqual(circle.perimeter(67.636), 424.96952143639845) \ No newline at end of file + assert circle.perimeter(67.636) == 424.96952143639845 + + # Проверяет, когда радиус отрицательный + def test_six_mul(self): + assert circle.area(10) != 40 + + # Проверяет, когда окружность отрицательный + def test_seven_mul(self): + assert circle.perimeter(10) != 30 + + # когда есть отрицательный фронт + def test_eight_mul(self): + res = circle.area(-10) + self.assertEqual(res, "wrong input") + + def test_nine_mul(self): + res = circle.perimeter(-10) + self.assertEqual(res, "wrong input") + + # Проверяет, являются ли радиус символами + def test_ten_mul(self): + res = circle.area('a') + self.assertEqual(res, "wrong input") + + def test_eleven_mul(self): + res = circle.perimeter('a') + self.assertEqual(res, "wrong input") + + # Проверяет, являются ли радиус строкой + def test_twelve_mul(self): + res = circle.area('abcdef') + self.assertEqual(res, "wrong input") + + def test_thirteen_mul(self): + res = circle.perimeter('abcdef') + self.assertEqual(res, "wrong input") + + # Проверяет, является ли радиус слишком большим числом + def test_fourteen_mul(self): + res = circle.area(10000000000000000000000000) + self.assertEqual(res, "wrong input") + + def test_fiveteen_mul(self): + res = circle.perimeter(10000000000000000000000000) + self.assertEqual(res, "wrong input") + + diff --git a/test_rectangle.py b/test_rectangle.py index f9c972197c..e1478e586c 100644 --- a/test_rectangle.py +++ b/test_rectangle.py @@ -1,24 +1,58 @@ -import unittest import rectangle +import unittest class RectangleTestCase(unittest.TestCase): - + # Проверяет, когда стороны равны 0 def test_zero_mul(self): - self.assertEqual(rectangle.area(0,13), 0) - + assert rectangle.area(0,15) == 0 + # Проверяет, когда стороны равны 10 def test_one_mul(self): - self.assertEqual(rectangle.area(5,13), 120) - + assert rectangle.area(10,10) == 100 + # Проверяет, являются ли стороны действительным числом def test_two_mul(self): - self.assertEqual(rectangle.area(67.5, 3.5), 236.25) + assert rectangle.area(65.5, 4.5) == 294.75 + # Проверяет, когда периметр равен 0 + def test_three_mul(self): + assert rectangle.perimeter(0,0) == 0 + # Проверяет, когда стороны равны 10 + def test_four_mul(self): + assert rectangle.perimeter(10, 45) == 110 + # Проверяет, являются ли стороны действительным числом + def test_five_mul(self): + assert rectangle.perimeter(67.636, 42.364) == 220 + # Проверяет правильное значение для площади + def test_six_mul(self): + assert rectangle.area(7,8) != 55 - def test_three_mul(self): - self.assertEqual(rectangle.perimeter(0,0), 0) + # Проверяет правильное значение для периметра + def test_seven_mul(self): + assert rectangle.perimeter(10, 54) != 132 + # когда есть отрицательный фронт + def test_eight_mul(self): + self.assertEqual(rectangle.area(-8, 7), "wrong input") - def test_four_mul(self): - self.assertEqual(rectangle.perimeter(10, 44), 128) + def test_nine_mul(self): + self.assertEqual(rectangle.perimeter(-5, 4), "wrong input") - def test_five_mul(self): - self.assertEqual(rectangle.perimeter(67.636, 42.364), 220) \ No newline at end of file + # когда есть ребро, которое является символом + def test_ten_mul(self): + self.assertEqual(rectangle.area('n', 8), "wrong input") + + def test_eleven_mul(self): + self.assertEqual(rectangle.perimeter('n', 8), "wrong input") + + # когда есть край, представляющий строку + def test_twelve_mul(self): + self.assertEqual(rectangle.area('abcdef', 12), "wrong input") + + def test_thirteen_mul(self): + self.assertEqual(rectangle.perimeter('abcdef', 12), "wrong input") + + # когда стороны слишком большим числом + def test_fourteen_mul(self): + self.assertEqual(rectangle.area(10000000000000000000000000, 9), "wrong input") + + def test_fiveteen_mul(self): + self.assertEqual(rectangle.perimeter(10000000000000000000000000, 9), "wrong input") diff --git a/test_square.py b/test_square.py index 069a3ee479..c8dd578d17 100644 --- a/test_square.py +++ b/test_square.py @@ -1,22 +1,63 @@ -import unittest import square +import unittest class SquareTestCase(unittest.TestCase): - + # Проверяет, когда сторона равна 0 def test_zero_mul(self): self.assertEqual(square.area(0), 0) + # Проверяет, когда сторона равна 10 def test_one_mul(self): - self.assertEqual(square.area(20), 400) + self.assertEqual(square.area(10), 100) + # Проверяет, является ли сторона действительным числом def test_two_mul(self): - self.assertEqual(square.area(7.5), 56.25) + self.assertEqual(square.area(8.5), 72.25) + # Проверяет, когда периметр равен 0 def test_three_mul(self): self.assertEqual(square.perimeter(0), 0) + # Проверяет, когда сторона равна 10 def test_four_mul(self): - self.assertEqual(square.perimeter(15), 60) + self.assertEqual(square.perimeter(10), 40) + # Проверяет, является ли сторона действительным числом def test_five_mul(self): - self.assertEqual(square.perimeter(17.25), 69) \ No newline at end of file + self.assertEqual(square.perimeter(2.25), 9) + + # Проверяет правильное значение для площади + def test_six_mul(self): + self.assertNotEqual(square.area(10), 40) + + # Проверяет правильное значение для периметра + def test_seven_mul(self): + self.assertNotEqual(square.perimeter(10), 30) + + # Проверяет площадь квадрата, когда сторона отрицательная + def test_eight_mul(self): + self.assertEqual(square.area(-5), "wrong input") + + def test_nine_mul(self): + self.assertEqual(square.perimeter(-5), "wrong input") + + # Проверяет площадь квадрата, когда сторона является символом + def test_ten_mul(self): + self.assertEqual(square.area('a'), "wrong input") + + def test_eleven_mul(self): + self.assertEqual(square.perimeter('a'), "wrong input") + + # Проверяет площадь квадрата, когда сторона является строкой + def test_twelve_mul(self): + self.assertEqual(square.area("string"), "wrong input") + + def test_thirteen_mul(self): + self.assertEqual(square.perimeter("string"), "wrong input") + + # Проверяет, когда сторона слишком большим числом + def test_fourteen_mul(self): + self.assertEqual(square.area(100000000000000000000), "wrong input") + + def test_fiveteen_mul(self): + self.assertEqual(square.perimeter(100000000000000000000), "wrong input") diff --git a/test_triangle.py b/test_triangle.py index f8e2563f21..3dc564bec9 100644 --- a/test_triangle.py +++ b/test_triangle.py @@ -1,26 +1,63 @@ -import unittest import triangle +import unittest class TriangleTestCase(unittest.TestCase): - + # Проверяет, когда стороны равны 0 def test_zero_mul(self): - self.assertEqual(triangle.area(7,8), 28) + self.assertEqual(triangle.area(7, 8), 28) + # Проверяет, когда стороны равны 10 def test_one_mul(self): - self.assertEqual(triangle.area(10, 5), 20) - + self.assertEqual(triangle.area(10, 10), 50) + # Проверяет, являются ли стороны действительным числом def test_two_mul(self): - self.assertEqual(triangle.area(7.5, 3.5),13.125) - + self.assertEqual(triangle.area(7.5, 3.5), 13.125) + # Проверяет, когда периметр равен 0 def test_three_mul(self): - self.assertEqual(triangle.perimeter(0, 0,0), 3) - + self.assertEqual(triangle.perimeter(0, 0, 0), 0) + # Проверяет, когда стороны равны 10 def test_four_mul(self): - self.assertEqual(triangle.perimeter(10, 4, 8), 23) - + self.assertEqual(triangle.perimeter(10, 6, 8), 24) + # Проверяет, являются ли стороны действительным числом def test_five_mul(self): - self.assertEqual(triangle.perimeter(34.23, 42.34, 23.43), 100) \ No newline at end of file + self.assertEqual(triangle.perimeter(34.23, 42.34, 23.43), 100) + + # Проверяет правильное значение для площади + def test_six_mul(self): + self.assertNotEqual(triangle.area(10, 10), 40) + + # Проверяет правильное значение для периметра + def test_seven_mul(self): + self.assertNotEqual(triangle.perimeter(10, 6, 8), 30) + + # Проверяет площадь треугольника, когда стороны отрицательные + def test_eight_mul(self): + self.assertEqual(triangle.area(-5, 10), "wrong input") + + def test_nine_mul(self): + self.assertEqual(triangle.perimeter(-5, 10, 15), "wrong input") + + # Проверяет площадь квадрата, когда сторона является символом + def test_ten_mul(self): + self.assertEqual(triangle.area('a', 3), "wrong input") + + def test_eleven_mul(self): + self.assertEqual(triangle.perimeter('a', 3, 4), "wrong input") + + # Проверяет периметр квадрата, когда сторона является символом + def test_twelve_mul(self): + self.assertEqual(triangle.area(4, "string"), "wrong input") + + def test_thirteen_mul(self): + self.assertEqual(triangle.perimeter(4, "string", 5), "wrong input") + + # Проверяет, когда сторона слишком большим числом + def test_fourteen_mul(self): + self.assertEqual(triangle.area(10**15, 3), "wrong input") + + def test_fiveteen_mul(self): + self.assertEqual(triangle.perimeter(10**15, 3, 4), "wrong input") diff --git a/triangle.py b/triangle.py index f9191bd9bd..64433a1426 100644 --- a/triangle.py +++ b/triangle.py @@ -8,6 +8,11 @@ def area(a, h): Output: 1 ''' + + # Проверка на корректность ввода + if not isinstance(a, (int, float)) or not isinstance(h, (int, float)) or a < 0 or h < 0 or a > 10**10 or h > 10**10: + return "wrong input" + return a * h / 2 def perimeter(a, b, c): ''' @@ -19,4 +24,9 @@ def perimeter(a, b, c): ''' + # Проверка на корректность ввода + if not isinstance(a, (int, float)) or not isinstance(b, (int, float)) or not isinstance(c, (int, float)) or a < 0 or b < 0 or c < 0 or a > 10**10 or b > 10**10 or c > 10**10: + return "wrong input" + + return a + b + c From 6bcfe5bdc43432b0c2065fced773a495b3d0ea5c Mon Sep 17 00:00:00 2001 From: hoangdatitmo <149434023+hoangdat233@users.noreply.github.com> Date: Mon, 25 Nov 2024 00:20:59 +0300 Subject: [PATCH 16/22] Create CICD.yml --- .github/workflows/CICD.yml | 46 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 .github/workflows/CICD.yml diff --git a/.github/workflows/CICD.yml b/.github/workflows/CICD.yml new file mode 100644 index 0000000000..3874a1e45d --- /dev/null +++ b/.github/workflows/CICD.yml @@ -0,0 +1,46 @@ +name: CI - Run Unit Test + +on: + push: + branches: [ "No4" ] + pull_request: + branches: [ "No4" ] + workflow_dispatch: + +jobs: + build: + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-latest, windows-latest] + + steps: + - name: Check out Repository + uses: actions/checkout@v4 + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + + - name: Display Python version + run: python -c "import sys; print(sys.version)" + + - name: Set up Python + uses: actions/setup-python@v4.7.1 + with: + python-version: 3.8 + + - name: Run My Step + id: myStep + run: echo "::set-output name=myOutput::some value" + + - name: Set Output Variable + run: echo "myOutput=${{ steps.myStep.outputs.myOutput }}" >> $GITHUB_ENV + + - name: Install Dependencies + run: | + echo "There are no dependencies!" + - name: Run Unit Tests + run: | + python -m unittest discover -s ./tests -p "test_*.py" From f6c3c2bb84856a170a078063ff44c093bb4516f9 Mon Sep 17 00:00:00 2001 From: hoangdatitmo Date: Mon, 25 Nov 2024 00:30:46 +0300 Subject: [PATCH 17/22] delete yml --- .github/workflows/CICD.yml | 46 -------------------------------------- 1 file changed, 46 deletions(-) delete mode 100644 .github/workflows/CICD.yml diff --git a/.github/workflows/CICD.yml b/.github/workflows/CICD.yml deleted file mode 100644 index 3874a1e45d..0000000000 --- a/.github/workflows/CICD.yml +++ /dev/null @@ -1,46 +0,0 @@ -name: CI - Run Unit Test - -on: - push: - branches: [ "No4" ] - pull_request: - branches: [ "No4" ] - workflow_dispatch: - -jobs: - build: - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-latest, windows-latest] - - steps: - - name: Check out Repository - uses: actions/checkout@v4 - - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - - name: Display Python version - run: python -c "import sys; print(sys.version)" - - - name: Set up Python - uses: actions/setup-python@v4.7.1 - with: - python-version: 3.8 - - - name: Run My Step - id: myStep - run: echo "::set-output name=myOutput::some value" - - - name: Set Output Variable - run: echo "myOutput=${{ steps.myStep.outputs.myOutput }}" >> $GITHUB_ENV - - - name: Install Dependencies - run: | - echo "There are no dependencies!" - - name: Run Unit Tests - run: | - python -m unittest discover -s ./tests -p "test_*.py" From cee03ef3f453e82fc7ab83ba8996dd3ccd435ac7 Mon Sep 17 00:00:00 2001 From: hoangdatitmo <149434023+hoangdat233@users.noreply.github.com> Date: Mon, 25 Nov 2024 00:33:41 +0300 Subject: [PATCH 18/22] Create CICD.yml --- .github/workflows/CICD.yml | 46 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 .github/workflows/CICD.yml diff --git a/.github/workflows/CICD.yml b/.github/workflows/CICD.yml new file mode 100644 index 0000000000..e0c7e88ad2 --- /dev/null +++ b/.github/workflows/CICD.yml @@ -0,0 +1,46 @@ +name: CI - Run Unit Test + +on: + push: + branches: [ "No5" ] + pull_request: + branches: [ "No5" ] + workflow_dispatch: + +jobs: + build: + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-latest, windows-latest] + + steps: + - name: Check out Repository + uses: actions/checkout@v4 + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + + - name: Display Python version + run: python -c "import sys; print(sys.version)" + + - name: Set up Python + uses: actions/setup-python@v4.7.1 + with: + python-version: 3.8 + + - name: Run My Step + id: myStep + run: echo "::set-output name=myOutput::some value" + + - name: Set Output Variable + run: echo "myOutput=${{ steps.myStep.outputs.myOutput }}" >> $GITHUB_ENV + + - name: Install Dependencies + run: | + echo "There are no dependencies!" + - name: Run Unit Tests + run: | + python -m unittest discover -s ./tests -p "test_*.py" From 1a2062b16def27705d3bd6412c764ebc4a20dad6 Mon Sep 17 00:00:00 2001 From: hoangdatitmo Date: Mon, 25 Nov 2024 00:54:45 +0300 Subject: [PATCH 19/22] all tests in folder --- test_circle.py => tests/test_circle.py | 2 ++ test_rectangle.py => tests/test_rectangle.py | 3 +++ test_square.py => tests/test_square.py | 3 +++ test_triangle.py => tests/test_triangle.py | 3 +++ 4 files changed, 11 insertions(+) rename test_circle.py => tests/test_circle.py (98%) rename test_rectangle.py => tests/test_rectangle.py (98%) rename test_square.py => tests/test_square.py (98%) rename test_triangle.py => tests/test_triangle.py (98%) diff --git a/test_circle.py b/tests/test_circle.py similarity index 98% rename from test_circle.py rename to tests/test_circle.py index 1cfc7676de..851bb3b3dc 100644 --- a/test_circle.py +++ b/tests/test_circle.py @@ -70,4 +70,6 @@ def test_fiveteen_mul(self): res = circle.perimeter(10000000000000000000000000) self.assertEqual(res, "wrong input") +if __name__ == '__main__': + unittest.main() diff --git a/test_rectangle.py b/tests/test_rectangle.py similarity index 98% rename from test_rectangle.py rename to tests/test_rectangle.py index e1478e586c..5b6afee771 100644 --- a/test_rectangle.py +++ b/tests/test_rectangle.py @@ -56,3 +56,6 @@ def test_fourteen_mul(self): def test_fiveteen_mul(self): self.assertEqual(rectangle.perimeter(10000000000000000000000000, 9), "wrong input") + +if __name__ == '__main__': + unittest.main() \ No newline at end of file diff --git a/test_square.py b/tests/test_square.py similarity index 98% rename from test_square.py rename to tests/test_square.py index c8dd578d17..0116603622 100644 --- a/test_square.py +++ b/tests/test_square.py @@ -61,3 +61,6 @@ def test_fourteen_mul(self): def test_fiveteen_mul(self): self.assertEqual(square.perimeter(100000000000000000000), "wrong input") + +if __name__ == '__main__': + unittest.main() \ No newline at end of file diff --git a/test_triangle.py b/tests/test_triangle.py similarity index 98% rename from test_triangle.py rename to tests/test_triangle.py index 3dc564bec9..2b6382c975 100644 --- a/test_triangle.py +++ b/tests/test_triangle.py @@ -61,3 +61,6 @@ def test_fourteen_mul(self): def test_fiveteen_mul(self): self.assertEqual(triangle.perimeter(10**15, 3, 4), "wrong input") + +if __name__ == '__main__': + unittest.main() \ No newline at end of file From 873cf29ff27beb3c9dd53aabe276547cf395e73d Mon Sep 17 00:00:00 2001 From: hoangdatitmo Date: Mon, 25 Nov 2024 00:58:20 +0300 Subject: [PATCH 20/22] delete file yml --- .github/workflows/CICD.yml | 46 -------------------------------------- 1 file changed, 46 deletions(-) delete mode 100644 .github/workflows/CICD.yml diff --git a/.github/workflows/CICD.yml b/.github/workflows/CICD.yml deleted file mode 100644 index e0c7e88ad2..0000000000 --- a/.github/workflows/CICD.yml +++ /dev/null @@ -1,46 +0,0 @@ -name: CI - Run Unit Test - -on: - push: - branches: [ "No5" ] - pull_request: - branches: [ "No5" ] - workflow_dispatch: - -jobs: - build: - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-latest, windows-latest] - - steps: - - name: Check out Repository - uses: actions/checkout@v4 - - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - - name: Display Python version - run: python -c "import sys; print(sys.version)" - - - name: Set up Python - uses: actions/setup-python@v4.7.1 - with: - python-version: 3.8 - - - name: Run My Step - id: myStep - run: echo "::set-output name=myOutput::some value" - - - name: Set Output Variable - run: echo "myOutput=${{ steps.myStep.outputs.myOutput }}" >> $GITHUB_ENV - - - name: Install Dependencies - run: | - echo "There are no dependencies!" - - name: Run Unit Tests - run: | - python -m unittest discover -s ./tests -p "test_*.py" From 7287f84b6bf620975a5f04ed43eb9e9bad7826ac Mon Sep 17 00:00:00 2001 From: hoangdatitmo <149434023+hoangdat233@users.noreply.github.com> Date: Mon, 25 Nov 2024 00:59:37 +0300 Subject: [PATCH 21/22] Create CICD.yml --- .github/workflows/CICD.yml | 46 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 .github/workflows/CICD.yml diff --git a/.github/workflows/CICD.yml b/.github/workflows/CICD.yml new file mode 100644 index 0000000000..e0c7e88ad2 --- /dev/null +++ b/.github/workflows/CICD.yml @@ -0,0 +1,46 @@ +name: CI - Run Unit Test + +on: + push: + branches: [ "No5" ] + pull_request: + branches: [ "No5" ] + workflow_dispatch: + +jobs: + build: + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-latest, windows-latest] + + steps: + - name: Check out Repository + uses: actions/checkout@v4 + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + + - name: Display Python version + run: python -c "import sys; print(sys.version)" + + - name: Set up Python + uses: actions/setup-python@v4.7.1 + with: + python-version: 3.8 + + - name: Run My Step + id: myStep + run: echo "::set-output name=myOutput::some value" + + - name: Set Output Variable + run: echo "myOutput=${{ steps.myStep.outputs.myOutput }}" >> $GITHUB_ENV + + - name: Install Dependencies + run: | + echo "There are no dependencies!" + - name: Run Unit Tests + run: | + python -m unittest discover -s ./tests -p "test_*.py" From 008a64cb2444e49bc2defb287b8c3011e759626b Mon Sep 17 00:00:00 2001 From: hoangdatitmo <149434023+hoangdat233@users.noreply.github.com> Date: Fri, 29 Nov 2024 01:39:50 +0300 Subject: [PATCH 22/22] Create cicd.yml --- .github/workflows/cicd.yml | 46 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 .github/workflows/cicd.yml diff --git a/.github/workflows/cicd.yml b/.github/workflows/cicd.yml new file mode 100644 index 0000000000..9df935b650 --- /dev/null +++ b/.github/workflows/cicd.yml @@ -0,0 +1,46 @@ +name: CICD - Run Unit Test + +on: + push: + branches: [ "No5" ] + pull_request: + branches: [ "No5" ] + workflow_dispatch: + +jobs: + build: + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-latest, windows-latest] + + steps: + - name: Check out Repository + uses: actions/checkout@v4 + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + + - name: Display Python version + run: python -c "import sys; print(sys.version)" + + - name: Set up Python + uses: actions/setup-python@v4.7.1 + with: + python-version: 3.8 + + - name: Run My Step + id: myStep + run: echo "::set-output name=myOutput::some value" + + - name: Set Output Variable + run: echo "myOutput=${{ steps.myStep.outputs.myOutput }}" >> $GITHUB_ENV + + - name: Install Dependencies + run: | + echo "There are no dependencies!" + - name: Run Unit Tests + run: | + python -m unittest discover -s ./tests -p "test_*.py"