def test_size(self): content = json_loader.read_file("file.json") palette = properties.Palette(json_loader.read_palette(content)) figure = {"type": "rectangle", "x": 100, "y": 50, "width": 200, "height": 50} rectangle = figures.Rectangle(figure, palette) self.assertEqual(rectangle.width, 200) self.assertEqual(rectangle.height, 50)
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")
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 = ''
#!/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())
# Canvas setup canvas = Canvas(root, width=800, height=600, background=canvasColor) canvas.pack() # Instantiating drawing logic # Draw(CANVAS, color, brushWidth, x1, y1, x2, y2) line = figures.Line() # Draw(CANVAS, color, brushWidth, x1, y1, x2, y2, x3, y3) 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
def test_one_side_equal_0(self): a = figures.Rectangle(2, 0) assert a.get_area() == 0 assert a.get_perimeter() == 0
def test_side_is_float(self): a = figures.Rectangle(2.5, 5) assert a.get_area() == 12.5 assert a.get_perimeter() == 15
def test_sides_equal_1_3(self): a = figures.Rectangle(1, 3) assert a.get_area() == 3 assert a.get_perimeter() == 8
def test_sides_equal_2_2(self): a = figures.Rectangle(2, 2) assert a.get_area() == 4 assert a.get_perimeter() == 8
def test_side_equal_1(self): a = figures.Rectangle(1) assert a.get_area() == 1 assert a.get_perimeter() == 4
def test_init_without_parameters(self): a = figures.Rectangle() assert a.get_area() == 1 assert a.get_perimeter() == 4
def test_negative_side_and_zero_side(self): with pytest.raises(Exception) as excinfo: a = figures.Rectangle(-1, 0) assert str(excinfo.value) == "Side can not be less than zero"