示例#1
0
 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))
示例#2
0
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()
示例#3
0
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
示例#4
0
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()
示例#5
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
示例#6
0
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")
示例#7
0
 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)
示例#8
0
 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]))
示例#9
0
#!/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())
示例#10
0
 def setUp(self):
     self.circle = figures.Circle(4)
示例#11
0
 def test_radius_equal_0(self):
     a = figures.Circle(0)
     assert a.get_area() == 0
     assert a.get_perimeter() == 0
示例#12
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
示例#13
0
 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
示例#14
0
 def test_radius_equal_2(self):
     a = figures.Circle(2)
     assert a.get_area() == 4 * math.pi
     assert a.get_perimeter() == 4 * math.pi
示例#15
0
 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"
示例#16
0
 def test_init_without_parameters(self):
     a = figures.Circle()
     assert a.get_area() == math.pi
     assert a.get_perimeter() == 2 * math.pi
示例#17
0
    [(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
示例#18
0
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 = ''
示例#19
0
 def test_radius_equal_1(self):
     a = figures.Circle(1)
     assert a.get_area() == math.pi
     assert a.get_perimeter() == 2 * math.pi