From 4bfbe8f29963e637f7aaabcfb2895cfe7362fa24 Mon Sep 17 00:00:00 2001 From: HuntedDuck Date: Wed, 25 Sep 2024 11:34:21 +0300 Subject: [PATCH 01/27] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=B9=20=D1=84=D0=B0=D0=B9=D0=BB:rectangle.py?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- triangle.py | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 triangle.py diff --git a/triangle.py b/triangle.py new file mode 100644 index 0000000000..771a133ffb --- /dev/null +++ b/triangle.py @@ -0,0 +1,5 @@ +def area(a, b): + return a * b + +def perimeter(a, b): + return a + b \ No newline at end of file From fee75fd0e73cd67d01c80659350d3d5855825d42 Mon Sep 17 00:00:00 2001 From: HuntedDuck Date: Wed, 25 Sep 2024 11:52:25 +0300 Subject: [PATCH 02/27] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=B9=20=D1=84=D0=B0=D0=B9=D0=BB:rectangle.py?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- rectangle.py | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 rectangle.py diff --git a/rectangle.py b/rectangle.py new file mode 100644 index 0000000000..62710cb844 --- /dev/null +++ b/rectangle.py @@ -0,0 +1,5 @@ +def area(a, b): + return a * b + +def perimeter(a, b): + return a + b \ No newline at end of file From 097241088df9202640ce046d79a2bcfcc85983ee Mon Sep 17 00:00:00 2001 From: HuntedDuck Date: Wed, 25 Sep 2024 11:57:28 +0300 Subject: [PATCH 03/27] =?UTF-8?q?=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5?= =?UTF-8?q?=D0=BD=D0=B0=20=D1=84=D1=83=D0=BD=D0=BA=D1=86=D0=B8=D1=8F=20?= =?UTF-8?q?=D0=BF=D0=BE=D0=B8=D1=81=D0=BA=D0=B0=20=D0=BF=D0=B5=D1=80=D0=B8?= =?UTF-8?q?=D0=BC=D0=B5=D1=82=D1=80=D0=B0=20=D0=B2=20=D1=84=D0=B0=D0=B9?= =?UTF-8?q?=D0=BB=D0=B5=20rectangle.py?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- rectangle.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rectangle.py b/rectangle.py index 62710cb844..7c0780faf8 100644 --- a/rectangle.py +++ b/rectangle.py @@ -2,4 +2,4 @@ def area(a, b): return a * b def perimeter(a, b): - return a + b \ No newline at end of file + return (a + b)*2 From 92fe3594a4b5552df40129ac8b401e024204c921 Mon Sep 17 00:00:00 2001 From: HuntedDuck Date: Tue, 5 Nov 2024 12:50:17 +0300 Subject: [PATCH 04/27] description added --- .DS_Store | Bin 0 -> 6148 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 .DS_Store diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..f566a7407120090678c978296eaad0dfb9fe8b7a GIT binary patch literal 6148 zcmeHKL2uJA6n^dsO;nJ20BIMbNL;5;wrUdMl9h4Tl_EF*D#;R!h!B?~r9xGuoVOpt zm0!Yt;RN5ay(y)XBSPps$^M?7-xt@PQ#&RiHJ&FAi3UXEp)huQRKGFq=dxiP7wG|& zc}7kt?bD1tpXM9c68IMt;I;GVj4~=wx7JUe#kr2r%df^U%Ki^y@QAvUkVbxWny=-3 z*_IbCs+oJ<*Lap^RXrSjQ=Ogejhj8M=k>ielXrSCsiS&cjid4vx1MXA$5(z7zsSWmsyeM#aPdaq%z!z?eKihpAL4H%Y&ogUT`=Xt@eWDqXYP( z!=u&8_wL?*@c7yEeg2`)7iMOp@Fp9(?eGdN;at!A)1)kNU7RDv`M0263O#CysG#$0 zI;!u;ZR_Y$MIUJn7W3Udr>&^E_Y0$sF-ok~pU2_f+8zf@F;PGi5CvKaxSh`Hw_@Uo z0-}H@zzXpG5I77SHWtm+fy!I~fL(-*!RHS~<^~Q!hmA$_z?7u|EmgTIhO%_T1D6*% zY%E$jDR=o$Ze-qrob^rF>?7R-bFEnc)$)Ybl6x#1STH>Mh2-wfxoK2 EPg|*si~s-t literal 0 HcmV?d00001 From 063b400c5b35d9ca73a25040b80ac80593abbd34 Mon Sep 17 00:00:00 2001 From: HuntedDuck Date: Tue, 5 Nov 2024 12:54:18 +0300 Subject: [PATCH 05/27] readme added --- docs/README.md | 66 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 65 insertions(+), 1 deletion(-) diff --git a/docs/README.md b/docs/README.md index 63f8727939..56bd0cfddb 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,3 +1,36 @@ +# Library description +## Geomitric_lib is a library for calculating the area and perimeter of diffenrent geometric figures(circles, triangle, rectangle) + +# Figures +## [Circle](https://github.com/HuntedDuck/geometric_lib/blob/new_features_%3C465483/circle.py) +### Parametres +- int r: size of circle radius +### Functions +- area(r): return area of the circle with given radius +- perimeter(r): return perimeter of the circle with given radius + +## [Rectangle](https://github.com/HuntedDuck/geometric_lib/blob/new_features_%3C465483/rectangle.py) +### Parametres +- int a, b: size of rectangle sides +### Functions +- area(a, b): return area of the rectangle with given side +- perimeter(a, b): return perimeter of the rectangle with given side + +## [Square](https://github.com/HuntedDuck/geometric_lib/blob/new_features_%3C465483/square.py) +### Parametres +- int a: size of square side +### Functions +- area(a): return area of the square with given side +- perimeter(a): return perimeter of the square with given side + +## [Triangle](https://github.com/HuntedDuck/geometric_lib/blob/new_features_%3C465483/triangle.py) +### Parametres +- int a, b: size of triangle sides +### Functions +- area(a, b): return area of the triangle with given side +- perimeter(a, b): return perimeter of the triangle with given side + + # Math formulas ## Area - Circle: S = πR² @@ -7,4 +40,35 @@ ## Perimeter - Circle: P = 2πR - Rectangle: P = 2a + 2b -- Square: P = 4a \ No newline at end of file +- Square: P = 4a + +# History of commits +- [commit 097241088df9202640ce046d79a2bcfcc85983ee](https://github.com/HuntedDuck/geometric_lib/commit/097241088df9202640ce046d79a2bcfcc85983ee) +Author: HuntedDuck +Date: Wed Sep 25 11:57:28 2024 +0300 + + Изменена функция поиска периметра в файле rectangle.py + +- [commit fee75fd0e73cd67d01c80659350d3d5855825d42](https://github.com/HuntedDuck/geometric_lib/commit/fee75fd0e73cd67d01c80659350d3d5855825d42) +Author: HuntedDuck +Date: Wed Sep 25 11:52:25 2024 +0300 + + Добавлей файл:rectangle.py + +- [commit 4bfbe8f29963e637f7aaabcfb2895cfe7362fa24](https://github.com/HuntedDuck/geometric_lib/commit/4bfbe8f29963e637f7aaabcfb2895cfe7362fa24) +Author: HuntedDuck +Date: Wed Sep 25 11:34:21 2024 +0300 + + Добавлей файл:rectangle.py + +- [commit d078c8d9ee6155f3cb0e577d28d337b791de28e2](https://github.com/HuntedDuck/geometric_lib/commit/d078c8d9ee6155f3cb0e577d28d337b791de28e2) +Author: smartiqa +Date: Thu Mar 4 14:55:29 2021 +0300 + + L-03: Docs added + +- [commit 8ba9aeb3cea847b63a91ac378a2a6db758682460](https://github.com/HuntedDuck/geometric_lib/commit/8ba9aeb3cea847b63a91ac378a2a6db758682460) +Author: smartiqa +Date: Thu Mar 4 14:54:08 2021 +0300 + + L-03: Circle and square added From ffb83995a3a167038e610888af859be119aaee39 Mon Sep 17 00:00:00 2001 From: HuntedDuck <159060632+HuntedDuck@users.noreply.github.com> Date: Tue, 5 Nov 2024 12:55:26 +0300 Subject: [PATCH 06/27] Delete .DS_Store --- .DS_Store | Bin 6148 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 .DS_Store diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index f566a7407120090678c978296eaad0dfb9fe8b7a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHKL2uJA6n^dsO;nJ20BIMbNL;5;wrUdMl9h4Tl_EF*D#;R!h!B?~r9xGuoVOpt zm0!Yt;RN5ay(y)XBSPps$^M?7-xt@PQ#&RiHJ&FAi3UXEp)huQRKGFq=dxiP7wG|& zc}7kt?bD1tpXM9c68IMt;I;GVj4~=wx7JUe#kr2r%df^U%Ki^y@QAvUkVbxWny=-3 z*_IbCs+oJ<*Lap^RXrSjQ=Ogejhj8M=k>ielXrSCsiS&cjid4vx1MXA$5(z7zsSWmsyeM#aPdaq%z!z?eKihpAL4H%Y&ogUT`=Xt@eWDqXYP( z!=u&8_wL?*@c7yEeg2`)7iMOp@Fp9(?eGdN;at!A)1)kNU7RDv`M0263O#CysG#$0 zI;!u;ZR_Y$MIUJn7W3Udr>&^E_Y0$sF-ok~pU2_f+8zf@F;PGi5CvKaxSh`Hw_@Uo z0-}H@zzXpG5I77SHWtm+fy!I~fL(-*!RHS~<^~Q!hmA$_z?7u|EmgTIhO%_T1D6*% zY%E$jDR=o$Ze-qrob^rF>?7R-bFEnc)$)Ybl6x#1STH>Mh2-wfxoK2 EPg|*si~s-t From 3bc8e847540ecf57c74fe4072f4675da268d1bb2 Mon Sep 17 00:00:00 2001 From: HuntedDuck <159060632+HuntedDuck@users.noreply.github.com> Date: Tue, 5 Nov 2024 13:00:37 +0300 Subject: [PATCH 07/27] Update circle.py --- circle.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/circle.py b/circle.py index c3eb8647c9..ac1cca3f1a 100644 --- a/circle.py +++ b/circle.py @@ -1,10 +1,31 @@ import math + + def area(r): + ''' +Returns the area of circle with given radius + +Parameters: + int r: radius of the circle + +Return value: + (int): area of the circle with given radius +''' return math.pi * r * r def perimeter(r): + ''' +Returns the perimeter of circle with given radius + +Parameters: + int r: radius of the circle + +Return value: + (int): perimeter of the circle with given radius +''' + return 2 * math.pi * r From 99254da8956423a955ff6f6f356d1ea013ff0af5 Mon Sep 17 00:00:00 2001 From: HuntedDuck <159060632+HuntedDuck@users.noreply.github.com> Date: Tue, 5 Nov 2024 13:03:33 +0300 Subject: [PATCH 08/27] Update rectangle.py --- rectangle.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/rectangle.py b/rectangle.py index 7c0780faf8..e6a6e95e36 100644 --- a/rectangle.py +++ b/rectangle.py @@ -1,5 +1,25 @@ def area(a, b): + ''' +Area of rectangle with given sides + +Parameters: + int a,b: sides of the rectangle + +Return value: + (int): area of the rectangle with given sides +''' + return a * b def perimeter(a, b): + ''' +Returns the perimeter of rectangle with given sides + +Parameters: + int a,b: sides of the rectangle + +Return value: + (int): perimeter of rectangle with given sides +''' + return (a + b)*2 From 3e2643fa736a9d18dd9f0e56602d8b5d3f589c35 Mon Sep 17 00:00:00 2001 From: HuntedDuck <159060632+HuntedDuck@users.noreply.github.com> Date: Tue, 5 Nov 2024 13:06:19 +0300 Subject: [PATCH 09/27] Update square.py --- square.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/square.py b/square.py index 0f98724205..31a2b44e97 100644 --- a/square.py +++ b/square.py @@ -1,7 +1,25 @@ def area(a): + ''' +Returns the area of square with given side + +Parameters: + int a: side of the square + +Return value: + (int): area of the square with given side +''' return a * a def perimeter(a): + ''' +Returns the perimeter of square with given side + +Parameters: + int a: side of the square + +Return value: + (int): perimeter of square with given side +''' return 4 * a From 0a83ed05072ecb988dbf9774290708a82b9c9d64 Mon Sep 17 00:00:00 2001 From: HuntedDuck <159060632+HuntedDuck@users.noreply.github.com> Date: Tue, 5 Nov 2024 13:07:35 +0300 Subject: [PATCH 10/27] Update triangle.py --- triangle.py | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/triangle.py b/triangle.py index 771a133ffb..1881fff4b8 100644 --- a/triangle.py +++ b/triangle.py @@ -1,5 +1,23 @@ def area(a, b): + ''' +Area of triangle with given sides + +Parameters: + int a,b: sides of the triangle + +Return value: + (int): area of the triangle with given sides +''' return a * b def perimeter(a, b): - return a + b \ No newline at end of file + ''' +Area of triangle with given sides + +Parameters: + int a,b: sides of the triangle + +Return value: + (int): area of the triangle with given sides +''' + return a + b From 2a663ee59895101df0c7b7b90175e1173417494a Mon Sep 17 00:00:00 2001 From: HuntedDuck Date: Wed, 20 Nov 2024 01:58:22 +0300 Subject: [PATCH 11/27] Updated README --- .DS_Store | Bin 6148 -> 6148 bytes .idea/.gitignore | 3 + .idea/geometric_lib.iml | 8 + .../inspectionProfiles/profiles_settings.xml | 6 + .idea/misc.xml | 4 + .idea/modules.xml | 8 + .idea/vcs.xml | 6 + docs/README.md | 137 +++++++++++++----- 8 files changed, 139 insertions(+), 33 deletions(-) create mode 100644 .idea/.gitignore create mode 100644 .idea/geometric_lib.iml create mode 100644 .idea/inspectionProfiles/profiles_settings.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml diff --git a/.DS_Store b/.DS_Store index f566a7407120090678c978296eaad0dfb9fe8b7a..dab6aa32b34121c33523d641c68fc56af54fc730 100644 GIT binary patch delta 46 zcmZoMXffDO%fz^Savf74mw0uxxrvT~iGk_lUrf@Bos-3wVQ delta 47 zcmZoMXffDO%fz^2avf74w?uWdk(q&xg0YFoV diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000000..26d33521af --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/.idea/geometric_lib.iml b/.idea/geometric_lib.iml new file mode 100644 index 0000000000..d0876a78d0 --- /dev/null +++ b/.idea/geometric_lib.iml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000000..105ce2da2d --- /dev/null +++ b/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000000..dc9ea4906e --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,4 @@ + + + + \ 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..94a25f7f4c --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/docs/README.md b/docs/README.md index 56bd0cfddb..84bcef34a5 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,46 +1,117 @@ # Library description -## Geomitric_lib is a library for calculating the area and perimeter of diffenrent geometric figures(circles, triangle, rectangle) +Geomitric_lib is a library for calculating the area and perimeter of different geometric figures (circles, triangles, rectangles). + +--- # Figures -## [Circle](https://github.com/HuntedDuck/geometric_lib/blob/new_features_%3C465483/circle.py) -### Parametres -- int r: size of circle radius -### Functions -- area(r): return area of the circle with given radius -- perimeter(r): return perimeter of the circle with given radius -## [Rectangle](https://github.com/HuntedDuck/geometric_lib/blob/new_features_%3C465483/rectangle.py) -### Parametres -- int a, b: size of rectangle sides +## Circle +- [Open in IDE](./circle.py) +- [Open on GitHub](https://github.com/HuntedDuck/geometric_lib/blob/new_features_%3C465483/circle.py) + +### Parameters +- **int r**: size of circle radius + ### Functions -- area(a, b): return area of the rectangle with given side -- perimeter(a, b): return perimeter of the rectangle with given side +- `area(r)`: return area of the circle with given radius + **Example:** + ```python + from circle import area + print(area(5)) # Output: 78.5398 (assuming π=3.14159) + ``` +- `perimeter(r)`: return perimeter of the circle with given radius + **Example:** + ```python + from circle import perimeter + print(perimeter(5)) # Output: 31.4159 (assuming π=3.14159) + ``` + +--- + +## Rectangle +- [Open in IDE](./rectangle.py) +- [Open on GitHub](https://github.com/HuntedDuck/geometric_lib/blob/new_features_%3C465483/rectangle.py) + +### Parameters +- **int a, b**: size of rectangle sides -## [Square](https://github.com/HuntedDuck/geometric_lib/blob/new_features_%3C465483/square.py) -### Parametres -- int a: size of square side ### Functions -- area(a): return area of the square with given side -- perimeter(a): return perimeter of the square with given side +- `area(a, b)`: return area of the rectangle with given sides + **Example:** + ```python + from rectangle import area + print(area(5, 3)) # Output: 15 + ``` +- `perimeter(a, b)`: return perimeter of the rectangle with given sides + **Example:** + ```python + from rectangle import perimeter + print(perimeter(5, 3)) # Output: 16 + ``` + +--- + +## Square +- [Open in IDE](./square.py) +- [Open on GitHub](https://github.com/HuntedDuck/geometric_lib/blob/new_features_%3C465483/square.py) + +### Parameters +- **int a**: size of square side -## [Triangle](https://github.com/HuntedDuck/geometric_lib/blob/new_features_%3C465483/triangle.py) -### Parametres -- int a, b: size of triangle sides ### Functions -- area(a, b): return area of the triangle with given side -- perimeter(a, b): return perimeter of the triangle with given side +- `area(a)`: return area of the square with given side + **Example:** + ```python + from square import area + print(area(4)) # Output: 16 + ``` +- `perimeter(a)`: return perimeter of the square with given side + **Example:** + ```python + from square import perimeter + print(perimeter(4)) # Output: 16 + ``` + +--- + +## Triangle +- [Open in IDE](./triangle.py) +- [Open on GitHub](https://github.com/HuntedDuck/geometric_lib/blob/new_features_%3C465483/triangle.py) + +### Parameters +- **int a, b**: size of triangle sides +### Functions +- `area(a, b)`: return area of the triangle with given sides + **Example:** + ```python + from triangle import area + print(area(5, 4)) # Output: 10 + ``` +- `perimeter(a, b)`: return perimeter of the triangle with given sides + **Example:** + ```python + from triangle import perimeter + print(perimeter(3, 4)) # Output: 7 + ``` + +--- # Math formulas + ## Area -- Circle: S = πR² -- Rectangle: S = ab -- Square: S = a² +- Circle: **S = πR²** +- Rectangle: **S = ab** +- Square: **S = a²** +- Triangle: **S = 0.5ab** ## Perimeter -- Circle: P = 2πR -- Rectangle: P = 2a + 2b -- Square: P = 4a +- Circle: **P = 2πR** +- Rectangle: **P = 2a + 2b** +- Square: **P = 4a** +- Triangle: **P = a + b** + +--- # History of commits - [commit 097241088df9202640ce046d79a2bcfcc85983ee](https://github.com/HuntedDuck/geometric_lib/commit/097241088df9202640ce046d79a2bcfcc85983ee) @@ -53,22 +124,22 @@ Date: Wed Sep 25 11:57:28 2024 +0300 Author: HuntedDuck Date: Wed Sep 25 11:52:25 2024 +0300 - Добавлей файл:rectangle.py + Добавлен файл: rectangle.py - [commit 4bfbe8f29963e637f7aaabcfb2895cfe7362fa24](https://github.com/HuntedDuck/geometric_lib/commit/4bfbe8f29963e637f7aaabcfb2895cfe7362fa24) Author: HuntedDuck Date: Wed Sep 25 11:34:21 2024 +0300 - Добавлей файл:rectangle.py + Добавлен файл: rectangle.py -- [commit d078c8d9ee6155f3cb0e577d28d337b791de28e2](https://github.com/HuntedDuck/geometric_lib/commit/d078c8d9ee6155f3cb0e577d28d337b791de28e2) +- [commit d078c8d9ee6155f3cb0e577d28d337b791de28e2](https://github.com/HuntedDuck/geometric_lib/commit/d078c8d9ee6155f3cb0e577d28d337b791de28e2) Author: smartiqa Date: Thu Mar 4 14:55:29 2021 +0300 L-03: Docs added -- [commit 8ba9aeb3cea847b63a91ac378a2a6db758682460](https://github.com/HuntedDuck/geometric_lib/commit/8ba9aeb3cea847b63a91ac378a2a6db758682460) +- [commit 8ba9aeb3cea847b63a91ac378a2a6db758682460](https://github.com/HuntedDuck/geometric_lib/commit/8ba9aeb3cea847b63a91ac378a2a6db758682460) Author: smartiqa Date: Thu Mar 4 14:54:08 2021 +0300 - L-03: Circle and square added + L-03: Circle and square added \ No newline at end of file From cdb5598f2ab09a9f65e180f294704bac5e691c12 Mon Sep 17 00:00:00 2001 From: HuntedDuck <159060632+HuntedDuck@users.noreply.github.com> Date: Wed, 20 Nov 2024 02:03:39 +0300 Subject: [PATCH 12/27] Update README.md --- docs/README.md | 135 +++++++++++++++++++++++++++++++++++++------------ 1 file changed, 103 insertions(+), 32 deletions(-) diff --git a/docs/README.md b/docs/README.md index 56bd0cfddb..b9d7f13e7d 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,46 +1,117 @@ # Library description -## Geomitric_lib is a library for calculating the area and perimeter of diffenrent geometric figures(circles, triangle, rectangle) +Geomitric_lib is a library for calculating the area and perimeter of different geometric figures (circles, triangles, rectangles). + +--- # Figures -## [Circle](https://github.com/HuntedDuck/geometric_lib/blob/new_features_%3C465483/circle.py) -### Parametres -- int r: size of circle radius -### Functions -- area(r): return area of the circle with given radius -- perimeter(r): return perimeter of the circle with given radius -## [Rectangle](https://github.com/HuntedDuck/geometric_lib/blob/new_features_%3C465483/rectangle.py) -### Parametres -- int a, b: size of rectangle sides +## Circle +- [Open in IDE](./circle.py) +- [Open on GitHub](https://github.com/HuntedDuck/geometric_lib/blob/new_features_%3C465483/circle.py) + +### Parameters +- **int r**: size of circle radius + ### Functions -- area(a, b): return area of the rectangle with given side -- perimeter(a, b): return perimeter of the rectangle with given side +- `area(r)`: return area of the circle with given radius + **Example:** + ```python + from circle import area + print(area(5)) # Output: 78.5398 (assuming π=3.14159) + ``` +- `perimeter(r)`: return perimeter of the circle with given radius + **Example:** + ```python + from circle import perimeter + print(perimeter(5)) # Output: 31.4159 (assuming π=3.14159) + ``` + +--- + +## Rectangle +- [Open in IDE](./rectangle.py) +- [Open on GitHub](https://github.com/HuntedDuck/geometric_lib/blob/new_features_%3C465483/rectangle.py) + +### Parameters +- **int a, b**: size of rectangle sides -## [Square](https://github.com/HuntedDuck/geometric_lib/blob/new_features_%3C465483/square.py) -### Parametres -- int a: size of square side ### Functions -- area(a): return area of the square with given side -- perimeter(a): return perimeter of the square with given side +- `area(a, b)`: return area of the rectangle with given sides + **Example:** + ```python + from rectangle import area + print(area(5, 3)) # Output: 15 + ``` +- `perimeter(a, b)`: return perimeter of the rectangle with given sides + **Example:** + ```python + from rectangle import perimeter + print(perimeter(5, 3)) # Output: 16 + ``` + +--- + +## Square +- [Open in IDE](./square.py) +- [Open on GitHub](https://github.com/HuntedDuck/geometric_lib/blob/new_features_%3C465483/square.py) + +### Parameters +- **int a**: size of square side -## [Triangle](https://github.com/HuntedDuck/geometric_lib/blob/new_features_%3C465483/triangle.py) -### Parametres -- int a, b: size of triangle sides ### Functions -- area(a, b): return area of the triangle with given side -- perimeter(a, b): return perimeter of the triangle with given side +- `area(a)`: return area of the square with given side + **Example:** + ```python + from square import area + print(area(4)) # Output: 16 + ``` +- `perimeter(a)`: return perimeter of the square with given side + **Example:** + ```python + from square import perimeter + print(perimeter(4)) # Output: 16 + ``` + +--- + +## Triangle +- [Open in IDE](./triangle.py) +- [Open on GitHub](https://github.com/HuntedDuck/geometric_lib/blob/new_features_%3C465483/triangle.py) + +### Parameters +- **int a, b**: size of triangle sides +### Functions +- `area(a, b)`: return area of the triangle with given sides + **Example:** + ```python + from triangle import area + print(area(5, 4)) # Output: 10 + ``` +- `perimeter(a, b)`: return perimeter of the triangle with given sides + **Example:** + ```python + from triangle import perimeter + print(perimeter(3, 4)) # Output: 7 + ``` + +--- # Math formulas + ## Area -- Circle: S = πR² -- Rectangle: S = ab -- Square: S = a² +- Circle: **S = πR²** +- Rectangle: **S = ab** +- Square: **S = a²** +- Triangle: **S = 0.5ab** ## Perimeter -- Circle: P = 2πR -- Rectangle: P = 2a + 2b -- Square: P = 4a +- Circle: **P = 2πR** +- Rectangle: **P = 2a + 2b** +- Square: **P = 4a** +- Triangle: **P = a + b** + +--- # History of commits - [commit 097241088df9202640ce046d79a2bcfcc85983ee](https://github.com/HuntedDuck/geometric_lib/commit/097241088df9202640ce046d79a2bcfcc85983ee) @@ -53,21 +124,21 @@ Date: Wed Sep 25 11:57:28 2024 +0300 Author: HuntedDuck Date: Wed Sep 25 11:52:25 2024 +0300 - Добавлей файл:rectangle.py + Добавлен файл: rectangle.py - [commit 4bfbe8f29963e637f7aaabcfb2895cfe7362fa24](https://github.com/HuntedDuck/geometric_lib/commit/4bfbe8f29963e637f7aaabcfb2895cfe7362fa24) Author: HuntedDuck Date: Wed Sep 25 11:34:21 2024 +0300 - Добавлей файл:rectangle.py + Добавлен файл: rectangle.py -- [commit d078c8d9ee6155f3cb0e577d28d337b791de28e2](https://github.com/HuntedDuck/geometric_lib/commit/d078c8d9ee6155f3cb0e577d28d337b791de28e2) +- [commit d078c8d9ee6155f3cb0e577d28d337b791de28e2](https://github.com/HuntedDuck/geometric_lib/commit/d078c8d9ee6155f3cb0e577d28d337b791de28e2) Author: smartiqa Date: Thu Mar 4 14:55:29 2021 +0300 L-03: Docs added -- [commit 8ba9aeb3cea847b63a91ac378a2a6db758682460](https://github.com/HuntedDuck/geometric_lib/commit/8ba9aeb3cea847b63a91ac378a2a6db758682460) +- [commit 8ba9aeb3cea847b63a91ac378a2a6db758682460](https://github.com/HuntedDuck/geometric_lib/commit/8ba9aeb3cea847b63a91ac378a2a6db758682460) Author: smartiqa Date: Thu Mar 4 14:54:08 2021 +0300 From 1f4f377580a3cb91a1f80a4966ed0d062bc38894 Mon Sep 17 00:00:00 2001 From: HuntedDuck Date: Wed, 20 Nov 2024 08:52:30 +0300 Subject: [PATCH 13/27] Added testing --- __pycache__/circle.cpython-310.pyc | Bin 0 -> 383 bytes __pycache__/rectangle.cpython-310.pyc | Bin 0 -> 356 bytes __pycache__/square.cpython-310.pyc | Bin 0 -> 344 bytes __pycache__/triangle.cpython-310.pyc | Bin 0 -> 389 bytes __pycache__/unit_tests.cpython-310.pyc | Bin 0 -> 2383 bytes triangle.py | 4 +- unit_tests.py | 62 +++++++++++++++++++++++++ 7 files changed, 64 insertions(+), 2 deletions(-) create mode 100644 __pycache__/circle.cpython-310.pyc create mode 100644 __pycache__/rectangle.cpython-310.pyc create mode 100644 __pycache__/square.cpython-310.pyc create mode 100644 __pycache__/triangle.cpython-310.pyc create mode 100644 __pycache__/unit_tests.cpython-310.pyc create mode 100644 unit_tests.py diff --git a/__pycache__/circle.cpython-310.pyc b/__pycache__/circle.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..8ddd9b6b29c20a62de9ab150c3d8bb370cec1e95 GIT binary patch literal 383 zcmaJ-u};H447D%UlA^W~BR|j%m#B0Mt#!klWS9$du){aF08P44}2zr-^=VFI1U-rzGJ`J z6z(P4xTbc}m5-Hw%1X~=<*wS-XbX0Q71cqH&5#^Fw#m*{6Z>K uoV1R;9CxfO>!v4yjHD@g8(&;eYdVunyr6sd%4)W zO_^8m#*U_vv!0;+@1Vfe9IW6xxp4KT5f28AQ}Q#%VmjT3c2F110Fz3=YM<1lOKJ%m WKR8T@n_muNcg`kf|&#~=$J) zYMFj|YJP4ike3{vlbNJnTv(b|l&V)yd5Z-|CxVRr3?eufi&%jae!Ei`p>{L*y<~w| zS_IOLa6=JD;udE?YEdT8+SDR8kSv%0x!zBc32aXhh=ZgF>;|xDWH$tO@@7YmBp;s`%cgtMd+-4>9D_uC(13HYBy tIfm>{H!KxgvFP^r{MbkaUQTSZ5yin+{9~NWrcLW#YQBlibv~m!`3Bi|K7{}P literal 0 HcmV?d00001 diff --git a/__pycache__/unit_tests.cpython-310.pyc b/__pycache__/unit_tests.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..35c0cd6ad43093605ed064176034d24ef760b28f GIT binary patch literal 2383 zcmb7FOK%%h6ux&J&iGl^bzMqJY0E=3pcvSI5Rae;v9m-|HY23b;2Eq*?IfIWkchfV zSt9;I%ZmI1_WT5Pvt>0BI|~*d6wY_%VG|q&#=6II&fI&>cb<2@*{mske%^g=+}lv< z7ck3@#mpA3_y;C|3iL#|_%|kcYPjaqa&4XQ73MdXcXGbUe2w{f&NrBEGT+kbV-=Wz z^;iW~sCF+Mn{JyWc2HqSC6`=g$wuI?#K|QcmQ;fpOKQ2~O4tqR4-L8>swY>UDz>9{ zWc3>|`}W-whVuy<6y zk~ANL@$7y$n)!RSLAANb~Pm(Gz8V^36=){V{$rmSzn!Nju&B3R< zEgl5ZXhzZQ*bl!NjKh5n0!1Tl5`8{6+>2)3j6I4s557*ScoR)kK0dE7>FAE`>7#4^ z@Orb{cfSAk`0xe(+wed4mSBvy`c!%gZ}2wlGU*!xFiA_iEOSV8?1GmWX~`bJRqnaO zvKYlHF5Fz*e7Jn;U$rC zl%pFJk)2y`1aw?fHDKFeJM84yiozCD)ci#zMMRIerk1M5WM1k^qG=5!n(1{uAb~7m zSdYboWO!8o#l35=1*2`<)kob0vNc&RFwzY^*U#-!=dAs9ZodrsN)QMy8j(;4N7v5+ zC=UyiDaNC{wR#IS@kE9XC{}k$^7ADx*zBB zxjqtbSt2pZR)!CgXxl=#d^Spj9ac~#SxcywY z(4_bYktW=MgodFjOx#K~Md&$5o`=LKN|auP3|Eg^$$TTRhzm4vP?Fm|--ze|nFn+m rZ&I}w7l{Qlt0qd~yqnz!?<0uuGfW&FklC+ec3PcAr{y#o+B*Fk_Rr^u literal 0 HcmV?d00001 diff --git a/triangle.py b/triangle.py index 771a133ffb..7062aeab5d 100644 --- a/triangle.py +++ b/triangle.py @@ -1,5 +1,5 @@ def area(a, b): - return a * b + return (a * b)/2 def perimeter(a, b): - return a + b \ No newline at end of file + return (a + b)+(a**2+b**2)**0.5 diff --git a/unit_tests.py b/unit_tests.py new file mode 100644 index 0000000000..2999efc680 --- /dev/null +++ b/unit_tests.py @@ -0,0 +1,62 @@ +import unittest +from rectangle import area as rect_area, perimeter as rect_perimeter +from square import area as square_area, perimeter as square_perimeter +from triangle import area as triangle_area, perimeter as triangle_perimeter +from circle import area as circle_area, perimeter as circle_perimeter + + +class TestRectangle(unittest.TestCase): + def test_area(self): + self.assertEqual(rect_area(5, 10), 50) + self.assertEqual(rect_area(0, 10), 0) + self.assertEqual(rect_area(5, -10), 0) + + + def test_perimeter(self): + self.assertEqual(rect_perimeter(5, 10), 30) + self.assertEqual(rect_perimeter(0, 10), 20) + + + + +class TestSquare(unittest.TestCase): + def test_area(self): + self.assertEqual(square_area(5), 25) + self.assertEqual(square_area(0), 0) + + + def test_perimeter(self): + self.assertEqual(square_perimeter(5), 20) + self.assertEqual(square_perimeter(0), 0) + + + +class TestTriangle(unittest.TestCase): + def test_area(self): + self.assertEqual(triangle_area(3, 4), 6) + self.assertEqual(triangle_area(0, 4), 0) + self.assertEqual(triangle_area(-3,4), 0) + + + def test_perimeter(self): + self.assertEqual(triangle_perimeter(3, 4), 12) + self.assertEqual(triangle_perimeter(0, 4), 0) + self.assertEqual(triangle_perimeter(-3, 4), 0) + + + +class TestCircle(unittest.TestCase): + def test_area(self): + self.assertAlmostEqual(circle_area(5), 78.54, places=2) + self.assertEqual(circle_area(0), 0) + self.assertEqual(circle_area(-5), 0) + + + def test_perimeter(self): + self.assertAlmostEqual(circle_perimeter(5), 31.42, places=2) + self.assertEqual(circle_perimeter(0), 0) + self.assertEqual(circle_perimeter(-5), 0) + + +if __name__ == "__main__": + unittest.main() \ No newline at end of file From 3e65aec57e61a2b5b15080e7ada4d216210acb2e Mon Sep 17 00:00:00 2001 From: HuntedDuck <159060632+HuntedDuck@users.noreply.github.com> Date: Wed, 4 Dec 2024 02:37:33 +0300 Subject: [PATCH 14/27] Update README.md --- docs/README.md | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/docs/README.md b/docs/README.md index 84bcef34a5..436a220718 100644 --- a/docs/README.md +++ b/docs/README.md @@ -5,9 +5,8 @@ Geomitric_lib is a library for calculating the area and perimeter of different g # Figures -## Circle -- [Open in IDE](./circle.py) -- [Open on GitHub](https://github.com/HuntedDuck/geometric_lib/blob/new_features_%3C465483/circle.py) +## [Circle](../circle.py) + ### Parameters - **int r**: size of circle radius @@ -28,9 +27,7 @@ Geomitric_lib is a library for calculating the area and perimeter of different g --- -## Rectangle -- [Open in IDE](./rectangle.py) -- [Open on GitHub](https://github.com/HuntedDuck/geometric_lib/blob/new_features_%3C465483/rectangle.py) +## [Rectangle](../rectangle.py) ### Parameters - **int a, b**: size of rectangle sides @@ -51,9 +48,8 @@ Geomitric_lib is a library for calculating the area and perimeter of different g --- -## Square -- [Open in IDE](./square.py) -- [Open on GitHub](https://github.com/HuntedDuck/geometric_lib/blob/new_features_%3C465483/square.py) +## [Square](../square.py) + ### Parameters - **int a**: size of square side @@ -74,9 +70,7 @@ Geomitric_lib is a library for calculating the area and perimeter of different g --- -## Triangle -- [Open in IDE](./triangle.py) -- [Open on GitHub](https://github.com/HuntedDuck/geometric_lib/blob/new_features_%3C465483/triangle.py) +## [Triangle](../triangle.py) ### Parameters - **int a, b**: size of triangle sides @@ -142,4 +136,4 @@ Date: Thu Mar 4 14:55:29 2021 +0300 Author: smartiqa Date: Thu Mar 4 14:54:08 2021 +0300 - L-03: Circle and square added \ No newline at end of file + L-03: Circle and square added From 4056a4fc8331a12f3c6c6fb12d54c7849da3d291 Mon Sep 17 00:00:00 2001 From: HuntedDuck <159060632+HuntedDuck@users.noreply.github.com> Date: Wed, 4 Dec 2024 03:51:04 +0300 Subject: [PATCH 15/27] Update unit_tests.py --- unit_tests.py | 136 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 135 insertions(+), 1 deletion(-) diff --git a/unit_tests.py b/unit_tests.py index 2999efc680..d90e0e076a 100644 --- a/unit_tests.py +++ b/unit_tests.py @@ -59,4 +59,138 @@ def test_perimeter(self): if __name__ == "__main__": - unittest.main() \ No newline at end of file + unittest.main() + + +""""""""" +import unittest +from rectangle import area as rect_area, perimeter as rect_perimeter +from square import area as square_area, perimeter as square_perimeter +from triangle import area as triangle_area, perimeter as triangle_perimeter +from circle import area as circle_area, perimeter as circle_perimeter + + +class TestRectangle(unittest.TestCase): + def test_area(self): + try: + self.assertEqual(rect_area(5, 10), 50) + except Exception as e: + self.fail(f"rect_area(5, 10) raised an exception: {e}") + + try: + self.assertEqual(rect_area(0, 10), 0) + except Exception as e: + self.fail(f"rect_area(0, 10) raised an exception: {e}") + + try: + self.assertEqual(rect_area(5, -10), 0) + except Exception as e: + self.fail(f"rect_area(5, -10) raised an exception: {e}") + + def test_perimeter(self): + try: + self.assertEqual(rect_perimeter(5, 10), 30) + except Exception as e: + self.fail(f"rect_perimeter(5, 10) raised an exception: {e}") + + try: + self.assertEqual(rect_perimeter(0, 10), 20) + except Exception as e: + self.fail(f"rect_perimeter(0, 10) raised an exception: {e}") + + +class TestSquare(unittest.TestCase): + def test_area(self): + try: + self.assertEqual(square_area(5), 25) + except Exception as e: + self.fail(f"square_area(5) raised an exception: {e}") + + try: + self.assertEqual(square_area(0), 0) + except Exception as e: + self.fail(f"square_area(0) raised an exception: {e}") + + def test_perimeter(self): + try: + self.assertEqual(square_perimeter(5), 20) + except Exception as e: + self.fail(f"square_perimeter(5) raised an exception: {e}") + + try: + self.assertEqual(square_perimeter(0), 0) + except Exception as e: + self.fail(f"square_perimeter(0) raised an exception: {e}") + + +class TestTriangle(unittest.TestCase): + def test_area(self): + try: + self.assertEqual(triangle_area(3, 4), 6) + except Exception as e: + self.fail(f"triangle_area(3, 4) raised an exception: {e}") + + try: + self.assertEqual(triangle_area(0, 4), 0) + except Exception as e: + self.fail(f"triangle_area(0, 4) raised an exception: {e}") + + try: + self.assertEqual(triangle_area(-3, 4), 0) + except Exception as e: + self.fail(f"triangle_area(-3, 4) raised an exception: {e}") + + def test_perimeter(self): + try: + self.assertEqual(triangle_perimeter(3, 4), 12) + except Exception as e: + self.fail(f"triangle_perimeter(3, 4) raised an exception: {e}") + + try: + self.assertEqual(triangle_perimeter(0, 4), 0) + except Exception as e: + self.fail(f"triangle_perimeter(0, 4) raised an exception: {e}") + + try: + self.assertEqual(triangle_perimeter(-3, 4), 0) + except Exception as e: + self.fail(f"triangle_perimeter(-3, 4) raised an exception: {e}") + + +class TestCircle(unittest.TestCase): + def test_area(self): + try: + self.assertAlmostEqual(circle_area(5), 78.54, places=2) + except Exception as e: + self.fail(f"circle_area(5) raised an exception: {e}") + + try: + self.assertEqual(circle_area(0), 0) + except Exception as e: + self.fail(f"circle_area(0) raised an exception: {e}") + + try: + self.assertEqual(circle_area(-5), 0) + except Exception as e: + self.fail(f"circle_area(-5) raised an exception: {e}") + + def test_perimeter(self): + try: + self.assertAlmostEqual(circle_perimeter(5), 31.42, places=2) + except Exception as e: + self.fail(f"circle_perimeter(5) raised an exception: {e}") + + try: + self.assertEqual(circle_perimeter(0), 0) + except Exception as e: + self.fail(f"circle_perimeter(0) raised an exception: {e}") + + try: + self.assertEqual(circle_perimeter(-5), 0) + except Exception as e: + self.fail(f"circle_perimeter(-5) raised an exception: {e}") + + +if __name__ == "__main__": + unittest.main() +""""""""" From 9b5d8d256b30a36f1bc0c0bec4a8289aa3cfaa52 Mon Sep 17 00:00:00 2001 From: HuntedDuck <159060632+HuntedDuck@users.noreply.github.com> Date: Wed, 25 Dec 2024 15:30:29 +0300 Subject: [PATCH 16/27] Create main.yml --- main.yml | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 main.yml diff --git a/main.yml b/main.yml new file mode 100644 index 0000000000..93a5601709 --- /dev/null +++ b/main.yml @@ -0,0 +1,32 @@ +name: RunUnitTests + +on: + push: + branches: + - main + - new_features_<465483 + workflow_dispatch: + +jobs: + test: + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-latest, windows-latest] + python-version: [3.8] + + steps: + - name: Checkout repo + uses: actions/checkout@v2 + + - name: Setup Python + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + + - name: Run Unit Tests + run: | + python unit_tests/unit_circle.py + python unit_tests/unit_rectangle.py + python unit_tests/unit_square.py + python unit_tests/unit_triangle.py From f5c46f80b4cf05932a0e7511756b76eb92700057 Mon Sep 17 00:00:00 2001 From: HuntedDuck <159060632+HuntedDuck@users.noreply.github.com> Date: Wed, 25 Dec 2024 15:31:49 +0300 Subject: [PATCH 17/27] Update main.yml --- main.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/main.yml b/main.yml index 93a5601709..b38fcbea08 100644 --- a/main.yml +++ b/main.yml @@ -26,7 +26,4 @@ jobs: - name: Run Unit Tests run: | - python unit_tests/unit_circle.py - python unit_tests/unit_rectangle.py - python unit_tests/unit_square.py - python unit_tests/unit_triangle.py + python unit_test.py From 2a19e661a532a0968afe19a2963068f9f94e3a7f Mon Sep 17 00:00:00 2001 From: HuntedDuck <159060632+HuntedDuck@users.noreply.github.com> Date: Wed, 25 Dec 2024 15:32:29 +0300 Subject: [PATCH 18/27] Update main.yml --- main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main.yml b/main.yml index b38fcbea08..38a30b8b19 100644 --- a/main.yml +++ b/main.yml @@ -26,4 +26,4 @@ jobs: - name: Run Unit Tests run: | - python unit_test.py + python unit_tests.py From cc79b25f8424377a6a1445a694eb213e3c4f69fd Mon Sep 17 00:00:00 2001 From: HuntedDuck <159060632+HuntedDuck@users.noreply.github.com> Date: Wed, 25 Dec 2024 15:40:23 +0300 Subject: [PATCH 19/27] Delete main.yml --- main.yml | 29 ----------------------------- 1 file changed, 29 deletions(-) delete mode 100644 main.yml diff --git a/main.yml b/main.yml deleted file mode 100644 index 38a30b8b19..0000000000 --- a/main.yml +++ /dev/null @@ -1,29 +0,0 @@ -name: RunUnitTests - -on: - push: - branches: - - main - - new_features_<465483 - workflow_dispatch: - -jobs: - test: - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-latest, windows-latest] - python-version: [3.8] - - steps: - - name: Checkout repo - uses: actions/checkout@v2 - - - name: Setup Python - uses: actions/setup-python@v2 - with: - python-version: ${{ matrix.python-version }} - - - name: Run Unit Tests - run: | - python unit_tests.py From 47338b48cdc09c867dd6c203a1692f09e50627cd Mon Sep 17 00:00:00 2001 From: HuntedDuck <159060632+HuntedDuck@users.noreply.github.com> Date: Wed, 25 Dec 2024 16:10:52 +0300 Subject: [PATCH 20/27] Update unit_tests.py --- unit_tests.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/unit_tests.py b/unit_tests.py index d90e0e076a..3bc4302b55 100644 --- a/unit_tests.py +++ b/unit_tests.py @@ -9,7 +9,7 @@ class TestRectangle(unittest.TestCase): def test_area(self): self.assertEqual(rect_area(5, 10), 50) self.assertEqual(rect_area(0, 10), 0) - self.assertEqual(rect_area(5, -10), 0) + self.assertEqual(rect_area(0, -10), 0) def test_perimeter(self): From 5bd4b154167d658f7a5e9efc4b61a2c3bbe9b020 Mon Sep 17 00:00:00 2001 From: HuntedDuck <159060632+HuntedDuck@users.noreply.github.com> Date: Wed, 25 Dec 2024 16:41:07 +0300 Subject: [PATCH 21/27] Update unit_tests.py --- unit_tests.py | 186 ++++++++++---------------------------------------- 1 file changed, 35 insertions(+), 151 deletions(-) diff --git a/unit_tests.py b/unit_tests.py index 3bc4302b55..5b1007ecc0 100644 --- a/unit_tests.py +++ b/unit_tests.py @@ -6,191 +6,75 @@ class TestRectangle(unittest.TestCase): - def test_area(self): + def test_area_normal_val(self): self.assertEqual(rect_area(5, 10), 50) - self.assertEqual(rect_area(0, 10), 0) - self.assertEqual(rect_area(0, -10), 0) + def test_area_zero_val(self): + self.assertEqual(rect_area(0, 10), 10) - def test_perimeter(self): - self.assertEqual(rect_perimeter(5, 10), 30) - self.assertEqual(rect_perimeter(0, 10), 20) + def test_area_neg_val(self): + self.assertEqual(rect_area(5, -10), 10) + def test_perimeter_normal_val(self): + self.assertEqual(rect_perimeter(5, 10), 30) + def test_perimeter_zero_val(self): + self.assertEqual(rect_perimeter(0, 10), 20) class TestSquare(unittest.TestCase): - def test_area(self): + def test_area_normal_val(self): self.assertEqual(square_area(5), 25) - self.assertEqual(square_area(0), 0) + def test_area_zero_val(self): + self.assertEqual(square_area(0), 0) - def test_perimeter(self): + def test_perimeter_normal_val(self): self.assertEqual(square_perimeter(5), 20) - self.assertEqual(square_perimeter(0), 0) + def test_perimeter_zero_val(self): + self.assertEqual(square_perimeter(0), 0) class TestTriangle(unittest.TestCase): - def test_area(self): + def test_area_normal_val(self): self.assertEqual(triangle_area(3, 4), 6) + + def test_area_zero_val(self): self.assertEqual(triangle_area(0, 4), 0) - self.assertEqual(triangle_area(-3,4), 0) + def test_area_neg_val(self): + self.assertEqual(triangle_area(-3, 4), 0) - def test_perimeter(self): + def test_perimeter_normal_val(self): self.assertEqual(triangle_perimeter(3, 4), 12) + + def test_perimeter_zero_val(self): self.assertEqual(triangle_perimeter(0, 4), 0) - self.assertEqual(triangle_perimeter(-3, 4), 0) + def test_perimeter_neg_val(self): + self.assertEqual(triangle_perimeter(-3, 4), 0) class TestCircle(unittest.TestCase): - def test_area(self): + def test_area_normal_val(self): self.assertAlmostEqual(circle_area(5), 78.54, places=2) + + def test_area_zero_val(self): self.assertEqual(circle_area(0), 0) - self.assertEqual(circle_area(-5), 0) + def test_area_neg_val(self): + self.assertEqual(circle_area(-5), 0) - def test_perimeter(self): + def test_perimeter_normal_val(self): self.assertAlmostEqual(circle_perimeter(5), 31.42, places=2) - self.assertEqual(circle_perimeter(0), 0) - self.assertEqual(circle_perimeter(-5), 0) - - -if __name__ == "__main__": - unittest.main() - - -""""""""" -import unittest -from rectangle import area as rect_area, perimeter as rect_perimeter -from square import area as square_area, perimeter as square_perimeter -from triangle import area as triangle_area, perimeter as triangle_perimeter -from circle import area as circle_area, perimeter as circle_perimeter - - -class TestRectangle(unittest.TestCase): - def test_area(self): - try: - self.assertEqual(rect_area(5, 10), 50) - except Exception as e: - self.fail(f"rect_area(5, 10) raised an exception: {e}") - - try: - self.assertEqual(rect_area(0, 10), 0) - except Exception as e: - self.fail(f"rect_area(0, 10) raised an exception: {e}") - - try: - self.assertEqual(rect_area(5, -10), 0) - except Exception as e: - self.fail(f"rect_area(5, -10) raised an exception: {e}") - - def test_perimeter(self): - try: - self.assertEqual(rect_perimeter(5, 10), 30) - except Exception as e: - self.fail(f"rect_perimeter(5, 10) raised an exception: {e}") - - try: - self.assertEqual(rect_perimeter(0, 10), 20) - except Exception as e: - self.fail(f"rect_perimeter(0, 10) raised an exception: {e}") - - -class TestSquare(unittest.TestCase): - def test_area(self): - try: - self.assertEqual(square_area(5), 25) - except Exception as e: - self.fail(f"square_area(5) raised an exception: {e}") - - try: - self.assertEqual(square_area(0), 0) - except Exception as e: - self.fail(f"square_area(0) raised an exception: {e}") - - def test_perimeter(self): - try: - self.assertEqual(square_perimeter(5), 20) - except Exception as e: - self.fail(f"square_perimeter(5) raised an exception: {e}") - - try: - self.assertEqual(square_perimeter(0), 0) - except Exception as e: - self.fail(f"square_perimeter(0) raised an exception: {e}") - - -class TestTriangle(unittest.TestCase): - def test_area(self): - try: - self.assertEqual(triangle_area(3, 4), 6) - except Exception as e: - self.fail(f"triangle_area(3, 4) raised an exception: {e}") - - try: - self.assertEqual(triangle_area(0, 4), 0) - except Exception as e: - self.fail(f"triangle_area(0, 4) raised an exception: {e}") - - try: - self.assertEqual(triangle_area(-3, 4), 0) - except Exception as e: - self.fail(f"triangle_area(-3, 4) raised an exception: {e}") - - def test_perimeter(self): - try: - self.assertEqual(triangle_perimeter(3, 4), 12) - except Exception as e: - self.fail(f"triangle_perimeter(3, 4) raised an exception: {e}") - - try: - self.assertEqual(triangle_perimeter(0, 4), 0) - except Exception as e: - self.fail(f"triangle_perimeter(0, 4) raised an exception: {e}") - - try: - self.assertEqual(triangle_perimeter(-3, 4), 0) - except Exception as e: - self.fail(f"triangle_perimeter(-3, 4) raised an exception: {e}") + def test_perimeter_zero_val(self): + self.assertEqual(circle_perimeter(0), 0) -class TestCircle(unittest.TestCase): - def test_area(self): - try: - self.assertAlmostEqual(circle_area(5), 78.54, places=2) - except Exception as e: - self.fail(f"circle_area(5) raised an exception: {e}") - - try: - self.assertEqual(circle_area(0), 0) - except Exception as e: - self.fail(f"circle_area(0) raised an exception: {e}") - - try: - self.assertEqual(circle_area(-5), 0) - except Exception as e: - self.fail(f"circle_area(-5) raised an exception: {e}") - - def test_perimeter(self): - try: - self.assertAlmostEqual(circle_perimeter(5), 31.42, places=2) - except Exception as e: - self.fail(f"circle_perimeter(5) raised an exception: {e}") - - try: - self.assertEqual(circle_perimeter(0), 0) - except Exception as e: - self.fail(f"circle_perimeter(0) raised an exception: {e}") - - try: - self.assertEqual(circle_perimeter(-5), 0) - except Exception as e: - self.fail(f"circle_perimeter(-5) raised an exception: {e}") + def test_perimeter_neg_val(self): + self.assertEqual(circle_perimeter(-5), 0) if __name__ == "__main__": unittest.main() -""""""""" From 51251214ff2c6e9b7749f11ca1c68def02ea5986 Mon Sep 17 00:00:00 2001 From: HuntedDuck <159060632+HuntedDuck@users.noreply.github.com> Date: Wed, 25 Dec 2024 17:23:15 +0300 Subject: [PATCH 22/27] Create h --- h | 1 + 1 file changed, 1 insertion(+) create mode 100644 h diff --git a/h b/h new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/h @@ -0,0 +1 @@ + From 7c0f2315078be49da31a9f1a45db1e41ae4fa573 Mon Sep 17 00:00:00 2001 From: HuntedDuck <159060632+HuntedDuck@users.noreply.github.com> Date: Wed, 25 Dec 2024 17:53:25 +0300 Subject: [PATCH 23/27] Create main.yml --- .github/workflows/main.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 .github/workflows/main.yml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1 @@ + From e1a78673d272e4b75ba5e376a5097786cf2a7c8f Mon Sep 17 00:00:00 2001 From: HuntedDuck <159060632+HuntedDuck@users.noreply.github.com> Date: Wed, 25 Dec 2024 17:54:03 +0300 Subject: [PATCH 24/27] Update main.yml --- .github/workflows/main.yml | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 8b13789179..63fd56f5e9 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1 +1,29 @@ +name: RunUnitTests +on: + push: + branches: + - main + - new_features_465483 + workflow_dispatch: + +jobs: + test: + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-latest, windows-latest] + python-version: [3.8] + + steps: + - name: Checkout repo + uses: actions/checkout@v2 + + - name: Setup Python + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + + - name: Run Unit Tests + run: | + python unit_tests.py From a38c410a9e279aa7cfa05f5a3238c11b2f407b4a Mon Sep 17 00:00:00 2001 From: HuntedDuck <159060632+HuntedDuck@users.noreply.github.com> Date: Wed, 25 Dec 2024 18:15:47 +0300 Subject: [PATCH 25/27] Update unit_tests.py --- unit_tests.py | 156 +++++++++++++++++++++++++++++++------------------- 1 file changed, 97 insertions(+), 59 deletions(-) diff --git a/unit_tests.py b/unit_tests.py index 5b1007ecc0..923f45fa4f 100644 --- a/unit_tests.py +++ b/unit_tests.py @@ -6,74 +6,112 @@ class TestRectangle(unittest.TestCase): - def test_area_normal_val(self): - self.assertEqual(rect_area(5, 10), 50) - - def test_area_zero_val(self): - self.assertEqual(rect_area(0, 10), 10) - - def test_area_neg_val(self): - self.assertEqual(rect_area(5, -10), 10) - - def test_perimeter_normal_val(self): - self.assertEqual(rect_perimeter(5, 10), 30) - - def test_perimeter_zero_val(self): - self.assertEqual(rect_perimeter(0, 10), 20) + def test_area(self): + test_cases = [ + (5, 10, 50), + (0, 10, 0), + (5, -10, 0), + ] + for width, height, expected in test_cases: + result = rect_area(width, height) + self.assertEqual( + result, expected, + f"Test failed: rect_area({width}, {height}) = {result}, expected {expected}" + ) + + def test_perimeter(self): + test_cases = [ + (5, 10, 30), + (0, 10, 20), + ] + for width, height, expected in test_cases: + result = rect_perimeter(width, height) + self.assertEqual( + result, expected, + f"Test failed: rect_perimeter({width}, {height}) = {result}, expected {expected}" + ) class TestSquare(unittest.TestCase): - def test_area_normal_val(self): - self.assertEqual(square_area(5), 25) - - def test_area_zero_val(self): - self.assertEqual(square_area(0), 0) - - def test_perimeter_normal_val(self): - self.assertEqual(square_perimeter(5), 20) - - def test_perimeter_zero_val(self): - self.assertEqual(square_perimeter(0), 0) + def test_area(self): + test_cases = [ + (5, 25), + (0, 0), + ] + for side, expected in test_cases: + result = square_area(side) + self.assertEqual( + result, expected, + f"Test failed: square_area({side}) = {result}, expected {expected}" + ) + + def test_perimeter(self): + test_cases = [ + (5, 20), + (0, 0), + ] + for side, expected in test_cases: + result = square_perimeter(side) + self.assertEqual( + result, expected, + f"Test failed: square_perimeter({side}) = {result}, expected {expected}" + ) class TestTriangle(unittest.TestCase): - def test_area_normal_val(self): - self.assertEqual(triangle_area(3, 4), 6) - - def test_area_zero_val(self): - self.assertEqual(triangle_area(0, 4), 0) - - def test_area_neg_val(self): - self.assertEqual(triangle_area(-3, 4), 0) - - def test_perimeter_normal_val(self): - self.assertEqual(triangle_perimeter(3, 4), 12) - - def test_perimeter_zero_val(self): - self.assertEqual(triangle_perimeter(0, 4), 0) - - def test_perimeter_neg_val(self): - self.assertEqual(triangle_perimeter(-3, 4), 0) + def test_area(self): + test_cases = [ + (3, 4, 6), + (0, 4, 0), + (-3, 4, 0), + ] + for base, height, expected in test_cases: + result = triangle_area(base, height) + self.assertEqual( + result, expected, + f"Test failed: triangle_area({base}, {height}) = {result}, expected {expected}" + ) + + def test_perimeter(self): + test_cases = [ + (3, 4, 12), + (0, 4, 0), + (-3, 4, 0), + ] + for side1, side2, expected in test_cases: + result = triangle_perimeter(side1, side2) + self.assertEqual( + result, expected, + f"Test failed: triangle_perimeter({side1}, {side2}) = {result}, expected {expected}" + ) class TestCircle(unittest.TestCase): - def test_area_normal_val(self): - self.assertAlmostEqual(circle_area(5), 78.54, places=2) - - def test_area_zero_val(self): - self.assertEqual(circle_area(0), 0) - - def test_area_neg_val(self): - self.assertEqual(circle_area(-5), 0) - - def test_perimeter_normal_val(self): - self.assertAlmostEqual(circle_perimeter(5), 31.42, places=2) - - def test_perimeter_zero_val(self): - self.assertEqual(circle_perimeter(0), 0) - - def test_perimeter_neg_val(self): - self.assertEqual(circle_perimeter(-5), 0) + def test_area(self): + test_cases = [ + (5, 78.54), + (0, 0), + (-5, 0), + ] + for radius, expected in test_cases: + result = circle_area(radius) + self.assertAlmostEqual( + result, expected, places=2, + msg=f"Test failed: circle_area({radius}) = {result}, expected {expected}" + ) + + def test_perimeter(self): + test_cases = [ + (5, 31.42), + (0, 0), + (-5, 0), + ] + for radius, expected in test_cases: + result = circle_perimeter(radius) + self.assertAlmostEqual( + result, expected, places=2, + msg=f"Test failed: circle_perimeter({radius}) = {result}, expected {expected}" + ) if __name__ == "__main__": From f54c7ef6bf87952d9a366cf44cd6c021753a7d28 Mon Sep 17 00:00:00 2001 From: HuntedDuck <159060632+HuntedDuck@users.noreply.github.com> Date: Wed, 25 Dec 2024 18:17:59 +0300 Subject: [PATCH 26/27] Update unit_tests.py --- unit_tests.py | 156 +++++++++++++++++++------------------------------- 1 file changed, 59 insertions(+), 97 deletions(-) diff --git a/unit_tests.py b/unit_tests.py index 923f45fa4f..5b1007ecc0 100644 --- a/unit_tests.py +++ b/unit_tests.py @@ -6,112 +6,74 @@ class TestRectangle(unittest.TestCase): - def test_area(self): - test_cases = [ - (5, 10, 50), - (0, 10, 0), - (5, -10, 0), - ] - for width, height, expected in test_cases: - result = rect_area(width, height) - self.assertEqual( - result, expected, - f"Test failed: rect_area({width}, {height}) = {result}, expected {expected}" - ) - - def test_perimeter(self): - test_cases = [ - (5, 10, 30), - (0, 10, 20), - ] - for width, height, expected in test_cases: - result = rect_perimeter(width, height) - self.assertEqual( - result, expected, - f"Test failed: rect_perimeter({width}, {height}) = {result}, expected {expected}" - ) + def test_area_normal_val(self): + self.assertEqual(rect_area(5, 10), 50) + + def test_area_zero_val(self): + self.assertEqual(rect_area(0, 10), 10) + + def test_area_neg_val(self): + self.assertEqual(rect_area(5, -10), 10) + + def test_perimeter_normal_val(self): + self.assertEqual(rect_perimeter(5, 10), 30) + + def test_perimeter_zero_val(self): + self.assertEqual(rect_perimeter(0, 10), 20) class TestSquare(unittest.TestCase): - def test_area(self): - test_cases = [ - (5, 25), - (0, 0), - ] - for side, expected in test_cases: - result = square_area(side) - self.assertEqual( - result, expected, - f"Test failed: square_area({side}) = {result}, expected {expected}" - ) - - def test_perimeter(self): - test_cases = [ - (5, 20), - (0, 0), - ] - for side, expected in test_cases: - result = square_perimeter(side) - self.assertEqual( - result, expected, - f"Test failed: square_perimeter({side}) = {result}, expected {expected}" - ) + def test_area_normal_val(self): + self.assertEqual(square_area(5), 25) + + def test_area_zero_val(self): + self.assertEqual(square_area(0), 0) + + def test_perimeter_normal_val(self): + self.assertEqual(square_perimeter(5), 20) + + def test_perimeter_zero_val(self): + self.assertEqual(square_perimeter(0), 0) class TestTriangle(unittest.TestCase): - def test_area(self): - test_cases = [ - (3, 4, 6), - (0, 4, 0), - (-3, 4, 0), - ] - for base, height, expected in test_cases: - result = triangle_area(base, height) - self.assertEqual( - result, expected, - f"Test failed: triangle_area({base}, {height}) = {result}, expected {expected}" - ) - - def test_perimeter(self): - test_cases = [ - (3, 4, 12), - (0, 4, 0), - (-3, 4, 0), - ] - for side1, side2, expected in test_cases: - result = triangle_perimeter(side1, side2) - self.assertEqual( - result, expected, - f"Test failed: triangle_perimeter({side1}, {side2}) = {result}, expected {expected}" - ) + def test_area_normal_val(self): + self.assertEqual(triangle_area(3, 4), 6) + + def test_area_zero_val(self): + self.assertEqual(triangle_area(0, 4), 0) + + def test_area_neg_val(self): + self.assertEqual(triangle_area(-3, 4), 0) + + def test_perimeter_normal_val(self): + self.assertEqual(triangle_perimeter(3, 4), 12) + + def test_perimeter_zero_val(self): + self.assertEqual(triangle_perimeter(0, 4), 0) + + def test_perimeter_neg_val(self): + self.assertEqual(triangle_perimeter(-3, 4), 0) class TestCircle(unittest.TestCase): - def test_area(self): - test_cases = [ - (5, 78.54), - (0, 0), - (-5, 0), - ] - for radius, expected in test_cases: - result = circle_area(radius) - self.assertAlmostEqual( - result, expected, places=2, - msg=f"Test failed: circle_area({radius}) = {result}, expected {expected}" - ) - - def test_perimeter(self): - test_cases = [ - (5, 31.42), - (0, 0), - (-5, 0), - ] - for radius, expected in test_cases: - result = circle_perimeter(radius) - self.assertAlmostEqual( - result, expected, places=2, - msg=f"Test failed: circle_perimeter({radius}) = {result}, expected {expected}" - ) + def test_area_normal_val(self): + self.assertAlmostEqual(circle_area(5), 78.54, places=2) + + def test_area_zero_val(self): + self.assertEqual(circle_area(0), 0) + + def test_area_neg_val(self): + self.assertEqual(circle_area(-5), 0) + + def test_perimeter_normal_val(self): + self.assertAlmostEqual(circle_perimeter(5), 31.42, places=2) + + def test_perimeter_zero_val(self): + self.assertEqual(circle_perimeter(0), 0) + + def test_perimeter_neg_val(self): + self.assertEqual(circle_perimeter(-5), 0) if __name__ == "__main__": From d6a8fbad9f569ca63f1082294c10b42b0817af93 Mon Sep 17 00:00:00 2001 From: HuntedDuck <159060632+HuntedDuck@users.noreply.github.com> Date: Wed, 25 Dec 2024 18:19:03 +0300 Subject: [PATCH 27/27] Update main.yml --- .github/workflows/main.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 63fd56f5e9..af9face92a 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -3,7 +3,6 @@ name: RunUnitTests on: push: branches: - - main - new_features_465483 workflow_dispatch: