Skip to content
Open
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
66 changes: 42 additions & 24 deletions challenge.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,72 +8,90 @@ def square_area(side):

def rectangle_area(base, height):
"""Returns the area of a rectangle"""
return base*height
return base * height


def triangle_area(base, height):
"""Returns the area of a triangle"""
return base*height/2
return base * height / 2


def rhombus_area(diagonal_1, diagonal_2):
"""Returns the area of a rhombus"""
return diagonal_1*diagonal_2/2
return diagonal_1 * diagonal_2 / 2


def trapezoid_area(base_minor, base_major, height):
"""Returns the area of a trapezoid"""
return ((base_major+base_minor)/2)*height
return ((base_major + base_minor) / 2) * height


def regular_polygon_area(perimeter, apothem):
"""Returns the area of a regular polygon"""
return (perimeter*apothem)/2
return (perimeter * apothem) / 2


def circumference_area(radius):
"""Returns the area of a circumference"""
return(round(math.pi*radius**2,3))
return (round(math.pi * radius**2, 3))


if __name__ == '__main__':
import unittest

class GeometrySuite(unittest.TestCase):

def setUp(self):
self.areas={'square':[16,4],
'rectangle':[30,6,5],
'triangle':[7.5,5,3],
'rhombus':[25,5,10],
'trapezoid':[8,3,5,2],
'polygon':[168,48,7],
'circumference':[12.566,2]
}
self.areas = {
'square': [16, 4],
'rectangle': [30, 6, 5],
'triangle': [7.5, 5, 3],
'rhombus': [25, 5, 10],
'trapezoid': [8, 3, 5, 2],
'polygon': [168, 48, 7],
'circumference': [12.566, 2]
}
Comment on lines +46 to +54
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Te recomiendo leer la documentación para ver cuando y por que se usa setUp. En este caso no es necesario ya que tus valores no se comparten entre test.
https://docs.python.org/3/library/unittest.html#organizing-test-code

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Gracias Héctor! La doc me dejó todo muy claro (no estuve en esta clase en Máster), este lo voy a dejar así como material de estudio y voy a agregar un comment explicando que el setUp se usa cuando los mismos datos de evaluación sirven para diferentes tests 👍

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

La documentación es tu amiga, consúltala!


def test_square_area(self):
self.assertEqual(self.areas['square'][0],square_area(self.areas['square'][1]))
self.assertEqual(self.areas['square'][0],
square_area(self.areas['square'][1]))

def test_rectangle_area(self):
self.assertEqual(self.areas['rectangle'][0],rectangle_area(self.areas['rectangle'][1],self.areas['rectangle'][2]))
self.assertEqual(
self.areas['rectangle'][0],
rectangle_area(self.areas['rectangle'][1],
self.areas['rectangle'][2]))

def test_triangle_area(self):
self.assertEqual(self.areas['triangle'][0],triangle_area(self.areas['triangle'][1],self.areas['triangle'][2]))
self.assertEqual(
self.areas['triangle'][0],
triangle_area(self.areas['triangle'][1],
self.areas['triangle'][2]))

def test_rhombus_area(self):
self.assertEqual(self.areas['rhombus'][0],rhombus_area(self.areas['rhombus'][1],self.areas['rhombus'][2]))
self.assertEqual(
self.areas['rhombus'][0],
rhombus_area(self.areas['rhombus'][1],
self.areas['rhombus'][2]))

def test_trapezoid_area(self):
self.assertEqual(self.areas['trapezoid'][0],trapezoid_area(self.areas['trapezoid'][1],self.areas['trapezoid'][2],self.areas['trapezoid'][3]))
self.assertEqual(
self.areas['trapezoid'][0],
trapezoid_area(self.areas['trapezoid'][1],
self.areas['trapezoid'][2],
self.areas['trapezoid'][3]))

def test_regular_polygon_area(self):
self.assertEqual(self.areas['polygon'][0],regular_polygon_area(self.areas['polygon'][1],self.areas['polygon'][2]))
self.assertEqual(
self.areas['polygon'][0],
regular_polygon_area(self.areas['polygon'][1],
self.areas['polygon'][2]))

def test_circumference_area(self):
self.assertEqual(self.areas['circumference'][0],circumference_area(self.areas['circumference'][1]))
self.assertEqual(
self.areas['circumference'][0],
circumference_area(self.areas['circumference'][1]))

def tearDown(self):
del(self.areas)
pass
del (self.areas)

unittest.main()