Skip to content

Commit

Permalink
Tests electronics/electric_conductivity.py #9943 (#12437)
Browse files Browse the repository at this point in the history
* Function conversion rectangular number to polar

* #9943 : adding test to elelectronics/electric_conductivity.py

* updating DIRECTORY.md

* Apply suggestions from code review

* updating DIRECTORY.md

* Rename rec_to_pol.py to rectangular_to_polar.py

* updating DIRECTORY.md

* Update conversions/rectangular_to_polar.py

* Update conversions/rectangular_to_polar.py

---------

Co-authored-by: Julia <[email protected]>
Co-authored-by: juliaaragao <[email protected]>
Co-authored-by: Christian Clauss <[email protected]>
Co-authored-by: cclauss <[email protected]>
  • Loading branch information
5 people authored Dec 30, 2024
1 parent 7fa9b4b commit a2be5ad
Show file tree
Hide file tree
Showing 3 changed files with 53 additions and 0 deletions.
1 change: 1 addition & 0 deletions DIRECTORY.md
Original file line number Diff line number Diff line change
Expand Up @@ -169,6 +169,7 @@
* [Prefix Conversions](conversions/prefix_conversions.py)
* [Prefix Conversions String](conversions/prefix_conversions_string.py)
* [Pressure Conversions](conversions/pressure_conversions.py)
* [Rectangular To Polar](conversions/rectangular_to_polar.py)
* [Rgb Cmyk Conversion](conversions/rgb_cmyk_conversion.py)
* [Rgb Hsv Conversion](conversions/rgb_hsv_conversion.py)
* [Roman Numerals](conversions/roman_numerals.py)
Expand Down
32 changes: 32 additions & 0 deletions conversions/rectangular_to_polar.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
import math


def rectangular_to_polar(real: float, img: float) -> tuple[float, float]:
"""
https://en.wikipedia.org/wiki/Polar_coordinate_system
>>> rectangular_to_polar(5,-5)
(7.07, -45.0)
>>> rectangular_to_polar(-1,1)
(1.41, 135.0)
>>> rectangular_to_polar(-1,-1)
(1.41, -135.0)
>>> rectangular_to_polar(1e-10,1e-10)
(0.0, 45.0)
>>> rectangular_to_polar(-1e-10,1e-10)
(0.0, 135.0)
>>> rectangular_to_polar(9.75,5.93)
(11.41, 31.31)
>>> rectangular_to_polar(10000,99999)
(100497.76, 84.29)
"""

mod = round(math.sqrt((real**2) + (img**2)), 2)
ang = round(math.degrees(math.atan2(img, real)), 2)
return (mod, ang)


if __name__ == "__main__":
import doctest

doctest.testmod()
20 changes: 20 additions & 0 deletions electronics/electric_conductivity.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,26 @@ def electric_conductivity(
('conductivity', 5.12672e-14)
>>> electric_conductivity(conductivity=1000, electron_conc=0, mobility=1200)
('electron_conc', 5.201506356240767e+18)
>>> electric_conductivity(conductivity=-10, electron_conc=100, mobility=0)
Traceback (most recent call last):
...
ValueError: Conductivity cannot be negative
>>> electric_conductivity(conductivity=50, electron_conc=-10, mobility=0)
Traceback (most recent call last):
...
ValueError: Electron concentration cannot be negative
>>> electric_conductivity(conductivity=50, electron_conc=0, mobility=-10)
Traceback (most recent call last):
...
ValueError: mobility cannot be negative
>>> electric_conductivity(conductivity=50, electron_conc=0, mobility=0)
Traceback (most recent call last):
...
ValueError: You cannot supply more or less than 2 values
>>> electric_conductivity(conductivity=50, electron_conc=200, mobility=300)
Traceback (most recent call last):
...
ValueError: You cannot supply more or less than 2 values
"""
if (conductivity, electron_conc, mobility).count(0) != 1:
raise ValueError("You cannot supply more or less than 2 values")
Expand Down

0 comments on commit a2be5ad

Please sign in to comment.