def test_figures_types(self) -> None: """Test the figure arch_enemy functionality""" s1: figures.Square = figures.Square(10) s2: figures.Square = figures.Square(5) c1: figures.Circle = figures.Circle(10) c2: figures.Circle = figures.Circle(5) self.assertFalse(figures.Figure.are_archenemy(s1, c1)) self.assertFalse(figures.Figure.are_archenemy(c2, s2)) self.assertTrue(figures.Figure.are_archenemy(c1, c2)) self.assertTrue(figures.Figure.are_archenemy(s1, s2))
def CircleTest(): circle = figures.Circle(4) assert int(circle.area()) == 50 circle.doubleSize() assert circle.radius == 8 assert int(circle.area()) == 201 del circle with pytest.raises(Exception): circle = figures.Circle("test") circle.area()
def test_add_square(other_figure, exp_result): circle = f.Circle(2) try: result = circle.add_square(other_figure) except Exception as e: result = str(e) assert result == exp_result
def SquareTest(): square = figures.Square(5) assert square.area() == 25 square.doubleSize() assert square.sidelen == 10 assert square.area() == 100 del square with pytest.raises(Exception): square = figures.Circle("test") square.area()
def test_create_circle(r, area, perimeter, exp_success, exp_error): circle = None try: circle = f.Circle(r) except Exception as e: error = str(e) if exp_success: assert circle is not None assert circle.r == r assert circle.area == area assert circle.perimeter == perimeter else: assert error == exp_error
def load_figures(figures_table, content, palette): for figure in content: if figure["type"] == "point": figures_table.append(figures.Point(figure, palette)) elif figure["type"] == "square": figures_table.append(figures.Square(figure, palette)) elif figure["type"] == "rectangle": figures_table.append(figures.Rectangle(figure, palette)) elif figure["type"] == "circle": figures_table.append(figures.Circle(figure, palette)) elif figure["type"] == "polygon": figures_table.append(figures.Polygon(figure, palette)) else: print("Unknown type of figure")
def test_circle(self) -> None: """Init a circle and test its functionality""" c: figures.Circle = figures.Circle(4) self.assertEqual(c.radius, 4) self.assertAlmostEqual(c.area(), math.pi * c.radius**2)
def test_figures_areas(self) -> None: """Test the figure area functionality""" s: figures.Square = figures.Square(10) c: figures.Circle = figures.Circle(10) self.assertAlmostEqual(s.area() + c.area(), figures.Figure.areas([s, c]))
#!/usr/bin/python # -*- coding: utf-8 -*- """Работа с классоми геометрических фигур в рамках задания 1.9.1 """ import figures myfigures = [figures.Rectangle(5, 10), figures.Square(15), figures.Circle(8)] for figure in myfigures: print(figure.get_area())
def setUp(self): self.circle = figures.Circle(4)
def test_radius_equal_0(self): a = figures.Circle(0) assert a.get_area() == 0 assert a.get_perimeter() == 0
triangle = figures.Triangle() # Draw(CANVAS, color, brushWidth, cx, cy, length) equilateralTriangle = figures.EquilateralTriangle() # Draw(CANVAS, color, brushWidth, cx, cy, width, height) rectangle = figures.Rectangle() # Draw(CANVAS, color, brushWidth, cx, cy, length) square = figures.Square() # Draw(CANVAS, color, brushWidth, cx, cy, verticalRadius, horizontalRadius) ellipse = figures.Ellipse() # Draw(CANVAS, color, brushWidth, cx, cy, radius) circle = figures.Circle() # Interpreter's additional functions def ChangeCanvasColor(newColor): global canvasColor global canvas canvasColor = newColor canvas["background"] = canvasColor def ChangeColor(newColor): global color color = newColor
def test_radius_is_float(self): a = figures.Circle(2.5) assert a.get_area() == 2.5 ** 2 * math.pi assert a.get_perimeter() == 5 * math.pi
def test_radius_equal_2(self): a = figures.Circle(2) assert a.get_area() == 4 * math.pi assert a.get_perimeter() == 4 * math.pi
def test_negative_radius(self): with pytest.raises(Exception) as excinfo: a = figures.Circle(-1) assert str(excinfo.value) == "Radius can not be less than zero"
def test_init_without_parameters(self): a = figures.Circle() assert a.get_area() == math.pi assert a.get_perimeter() == 2 * math.pi
[(4, 50.26548245743669, 25.132741228718345, True, ""), (0, 0, 0, False, "радиус должен быть целым положительным числом > 0")]) def test_create_circle(r, area, perimeter, exp_success, exp_error): circle = None try: circle = f.Circle(r) except Exception as e: error = str(e) if exp_success: assert circle is not None assert circle.r == r assert circle.area == area assert circle.perimeter == perimeter else: assert error == exp_error @pytest.mark.parametrize( 'other_figure, exp_result', [(f.Circle(2), 25.132741228718345), (f.Square(4), 28.566370614359172), (None, "Метод принимает только объекты класса Figure")]) def test_add_square(other_figure, exp_result): circle = f.Circle(2) try: result = circle.add_square(other_figure) except Exception as e: result = str(e) assert result == exp_result
import figures figuresList = [] for i in range(3): choice = input("Круг(к), прямоугольник(п) или треугольник(т): ") if choice == 'к': figure = figures.Circle(float(input("Радиус: "))) elif choice == 'п': l = float(input("Длина: ")) w = float(input("Ширина: ")) figure = figures.Rectangle(w, l) elif choice == 'т': a = float(input("Первая сторона: ")) b = float(input("Вторая сторона: ")) c = float(input("Третья сторона: ")) figure = figures.Triangle(a, b, c) figuresList.append(figure) maxS = 0 maxP = 0 maxSType = '' maxPType = ''
def test_radius_equal_1(self): a = figures.Circle(1) assert a.get_area() == math.pi assert a.get_perimeter() == 2 * math.pi